【发布时间】:2017-11-24 22:21:55
【问题描述】:
我的服务器上有两个独立的网站: X:\Inetpub\wwwroot\MySite1\ 和 X:\Inetpub\wwwroot\MySite2。
我正在尝试设置一些 URL 重写,所以我从简单开始。我使用以下代码在 X:\Inetpub\wwwroot\MySite1\web.config 中创建了一个 web.config 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Contact" stopProcessing="true">
<match url="^contact$" />
<action type="Rewrite" url="/16_Contact.cfm" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
当有人输入网址“MySite1.com/contact”时,我希望浏览器将他们直接带到“MySite1.com/16_Contact.cfm”。但是当我在浏览器中尝试时,我得到一个 404 错误。如果这很重要,我正在使用旧版本的 Coldfusion (MX7)。我有什么明显的遗漏吗?
【问题讨论】:
-
您是否在 IIS 中安装了 Rewrite 模块?它不是开箱即用的,我很确定你必须部署它。你的配置看起来很正常。
-
是的,我下载了 Rewrite 模块,但我正在手动编码 web.config 文件。是否有我可能丢失的依赖文件?
-
您使用的是什么版本的 IIS?从这篇文章stackoverflow.com/a/25169995/1246574 看来,有些人在 IIS 8 及更高版本中遇到了问题,并且有一些解决方案。我已经使用了该模块,但在 IIS 7 中它对我来说很好用。我不认为它是你的配置,我认为模块安装不正确的可能性更大。
-
IIS 版本 7.5.7。所以我不能只创建一个 web.config 文件并将其保存在服务器上吗? IIS 必须有某种方向?
-
查看详细的错误信息。它向您展示了如何解析请求的页面。见:blogs.msdn.microsoft.com/rakkimk/2007/05/25/…
标签: iis url-rewriting coldfusion web-config