不,您不需要框架或 URL 重写器来使http://domain.com/some/url工作(注意没有 index.cfm)。
在 IIS 中,您可以为 404 错误设置自定义错误页面。使自定义错误页面在您的服务器上执行 ColdFusion 页面(例如 /urlhandler.cfm、404.cfm 或 index.cfm)。在该页面中,您可以通过对 cgi.query_string 值使用列表方法来使用 ColdFusion 控制您自己的路由。IIS 将为您提供一个类似于 404 的 url;http://domain.com/the/original/url您可以解析它以将访问者路由到您想要的事件。
<!--- Get URL String --->
<cfset CurrentURL = ListGetAt(cgi.query_string, 2, ";")>
<cfset CurrentURL = Replace(CurrentURL, ":80", "")>
<cfset CurrentURL = Replace(CurrentURL, ":443", "")>
<cfset CurrentURL = Replace(CurrentURL, "403;", "")>
<cfset CurrentURL = Replace(CurrentURL, "'", "", "ALL")>
我们有一个每月接收大约 100 万访问者的网站,该网站仍在使用这种方法运行 SES 网址。当我被聘用并在网站的核心发现这个现有的代码并且不会选择重复它时,我感到很震惊,但是,如果你在安装重写器或第三方框架方面有限制(这个客户对网站施加了限制)这个解决方案可能对您有用。
通过使用上述代码,您可以快速了解如何使用 CF 动态包含所需的 .CFM 文件或根据您的设置执行正确的 CFC 代码。