Currently, we have coldbox 2.64 Renewed version with Coldfusion 9. We are using IIRF 1.2 version for rewriter and it works without any issue. Now, we are in the process of upgrading all our system. After Codlfusion 10 64-bit installation and on IIS 7.5 configuration, the home page comes fine however, the inside page links are not working. Since the current rewriter is 32-bit, we have tried different 64-bit rewriter such as (helicon and IIRF) and However,it throws 404 error when any link clicked.
Also, When we tried to use the web.config that we found in the coldbox bundle download, the 404 error is not coming but every links we clicked redirect back to home page even though the url is different. It does not seem the Coldbox SES is not working with any of the rewriter.
I use helicon, so am dumfounded that this didn’t work for you.
My first port of call, would be to switch logging on in IIS and see what it is seeing as the URL request. Then check that with your .htaccess file if using rewrite engines that use that, or what ever rules you need to check.
My guess, is that when you turned the SES on that you may have not reinited the framework.
Have you removed any other rewriting engines that may have been installed previously? Also, can you give us an example of the URL you are hitting and dump out the CGI scope to see how it is presenting itself to CF to confirm how the web server rewrites are working.
Are you using the URL rewrites that add the index.cfm back into the URL? If so, you don’t need to have the index.cfm in the URL-- the web server is supposed to add that back in.
Can you specify what URL you were hitting that produced the CGI dump below? Ideally, hit a URL that is NOT working and then report what the CGI scope looks like. The rewrite rules are supposed to do the following:
Using this workaround, just replace the getCGIElement on line784 with the following:
// Allow a UDF to manipulate the CGI.PATH_INFO value
// in advance of route detection.
if (arguments.cgielement EQ 'path_info' AND structKeyExists(variables, 'PathInfoProvider'))
{
return PathInfoProvider(event=arguments.Event);
}
// finally lets remove the index.cfm because some of the custom cgi variables don’t bring it back
// like this it means at the root we are working with / instead of /index.cfm
request.path_info = replace(request.path_info,‘index.cfm’,’’);
return request.path_info;
}
return CGI[arguments.CGIElement];
This fixed it without any helicon non-sense.
Actually this should probably be baked in the Coldbox as it is extremely confusing to first time SES users.
Have you reconfigured your IIS connector since updating? I know we just went through this with someone on the list, but I’ve forgotten which thread it was.
My guess is that this issue is in the IIS rewrite engine itself and not ColdFusion, I use Helicon mod rewrite with no issues what so ever. If ColdFusion has an issue here, then it would apply to all rewrite engines, would it not?