如何在 iis 7.5 上的 cfwheels 1.4 中启用 URL 重写?
How to enable URL rewriting in cfwheels 1.4 on iis 7.5?
我在装有 IIS 7.5 的 windows 服务器 2008R2 上的 Railo 4.2.2.004 上使用 cfwheels 1.4,但无法使 URL 重写工作。
在 config/settings.cfm 我有
set(URLRewriting="On");
我的web.config看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ColdFusion on Wheels URL Rewriting" enabled="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{SCRIPT_NAME}" matchType="Pattern" ignoreCase="true" negate="true" pattern="^/(flex2gateway|jrunscripts|cfide|CFFileServlet|cfformgateway|railo-context|files|images|javascripts|miscellaneous|stylesheets|robots.txt|favicon.ico|sitemap.xml|rewrite.cfm)($|/.*$)" />
</conditions>
<action type="Rewrite" url="/rewrite.cfm/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我在 IIS 中安装了 URL 重写模块。
IIS 确实显示 web.config 文件中的入站规则。
浏览器显示
Error: Redirection error
我基本遵循:
[Removing index.cfm from url with web config
我错过了什么?
问候
托尔斯滕
仅供参考
我通过用插件 internalredirect 替换 redirectTo() 解决了这个问题。 ;-)
public void function setControllerAndView() {
/*redirectTo( controller="#request.domaininfo.getHomeController()#",
action="#request.domaininfo.getHomeAction()#");*/
// use plugin internalredirect.cfc
internalredirect( controller="#request.domaininfo.getHomeController()#",
action="#request.domaininfo.getHomeAction()#");
}
我在装有 IIS 7.5 的 windows 服务器 2008R2 上的 Railo 4.2.2.004 上使用 cfwheels 1.4,但无法使 URL 重写工作。
在 config/settings.cfm 我有
set(URLRewriting="On");
我的web.config看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ColdFusion on Wheels URL Rewriting" enabled="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{SCRIPT_NAME}" matchType="Pattern" ignoreCase="true" negate="true" pattern="^/(flex2gateway|jrunscripts|cfide|CFFileServlet|cfformgateway|railo-context|files|images|javascripts|miscellaneous|stylesheets|robots.txt|favicon.ico|sitemap.xml|rewrite.cfm)($|/.*$)" />
</conditions>
<action type="Rewrite" url="/rewrite.cfm/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我在 IIS 中安装了 URL 重写模块。 IIS 确实显示 web.config 文件中的入站规则。
浏览器显示
Error: Redirection error
我基本遵循: [Removing index.cfm from url with web config
我错过了什么? 问候 托尔斯滕
仅供参考 我通过用插件 internalredirect 替换 redirectTo() 解决了这个问题。 ;-)
public void function setControllerAndView() {
/*redirectTo( controller="#request.domaininfo.getHomeController()#",
action="#request.domaininfo.getHomeAction()#");*/
// use plugin internalredirect.cfc
internalredirect( controller="#request.domaininfo.getHomeController()#",
action="#request.domaininfo.getHomeAction()#");
}