我已经使用 ASP.Net MVC 3 为客户构建了一个网站,该网站用于替换我未构建并用 PHP 编写的旧站点。
我在新网站上的大部分页面都映射到原来的旧页面,例如 www.mysite.com/contactus 曾经是 www.mysite.com/contactus.php
在查看我的错误日志(由 Elmah 记录)后,我收到一些旧页面请求的错误,如下所示:
路径“/ContactUs.php”的 Controller 未找到或未实现 IController。
有没有人对如何纠正这个问题有建议,最好是将用户重定向到新的目的地(如果存在)或者只是将他们默认到主页。
最佳答案
您应该能够在 web.config 中使用 IIS 重写规则来执行此操作:
<rewrite>
<rules>
<rule name="Remove .php suffix">
<match url="^(.*).php$" />
<action type="Rewrite" url="{R:1}" />
</rule>
</rules>
</rewrite>
这应该去除任何传入请求的“.php”后缀。有关详细信息,请参见此处:http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module
关于c# - 在 MVC 中重定向来自旧网站的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855462/