2

我已将以下 XML 添加到我的SiteUrls.config文件中:

    <RewriterRule>
      <SendTo>/pod/</SendTo>
      <LookFor>.*abcdefg</LookFor>
    </RewriterRule>

当我去http://localhost/abcdefg它成功将我重定向到http://localhost/pod. 我的本地主机是 IIS 7 Web 服务器。

但是,我无法在我们的生产或登台机器上获得相同的确切配置。它保持打开http://staging.x.com/abcdefg并给出 404 错误。

究竟需要设置什么才能使其正常工作?我没有注意到我在本地拥有的 IIS 模块与生产/登台系统上的 IIS 模块之间有太大区别。

4

1 回答 1

1

您可能需要安装修补程序以支持 IIS 7 上的无扩展 URL。

从汉塞尔曼

在 IIS6 上工作的无扩展 URL 以前很棘手,而且很多人都在上面写过。在 IIS6 和 ASP.NET MVC 的早期,您将映射所有内容到托管代码。在创建无扩展 URL 功能之前,ASP.NET 路由要求将 RAMFARR 设置为 true 。

此 KB http://support.microsoft.com/kb/980368中添加了无扩展 URL 支持,并随 ASP.NET MVC 4 一起提供。如果您有 ASP.NET MVC 4,那么您的开发计算机上就有无扩展 URL。但是您的服务器可能不会。您可能需要安装此修补程序,或打开 RAMMFAR。如果可以避免的话,我宁愿你安装更新而不是打开 RAMMFAR。Run All Modules 选项实际上是一个通配符映射。

于 2012-05-18T20:10:05.460 回答