There are two places to update the code.
1. index.cfm
Simply add this line:
<!--- CF10 Fix for SEO URLs. When CF10 does not find a template, application.cfm file is not executed. --->
<cfif not isDefined("request.self")>
<cfset request.self="index.cfm">
<cfinclude template="config.cfm">
</cfif>
above the first line of code in the file.
Explanation: When CF10 is unable to resolve the full Path, it serves a file it can extract from the URL ( index.cfm ) but does not execute Application.cfm.
2. /includes/cfw_functions.cfm - This function at the top of the page creates the SES safe URLs. We replace '.cfm' with '.html'.
// this function replaces illegal characters in product/category/feature/pages names for creating SES links
function SESFile(str){
var strip = LCase(Replace(str,' ','-', "ALL"));
strip= ReReplace(strip,"[^\w\d-]+","","ALL");
strip = strip & '.cfm';
return strip;
}
becomes
// this function replaces illegal characters in product/category/feature/pages names for creating SES links
function SESFile(str){
var strip = LCase(Replace(str,' ','-', "ALL"));
strip= ReReplace(strip,"[^\w\d-]+","","ALL");
strip = strip & '.html';
return strip;
}
All your doing is replace '.cfm' with '.html'.
Explanation: CF10 is not always able to extract correct file name when more than one cfm file is specified in URL. The solution is to stop using .cfm as a fake extension.