c# - 在 MVC 中重定向来自旧网站的请求

标签 c# asp.net-mvc redirect

我已经使用 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/

相关文章:

JSF 2 -- 永久重定向 (301)

wpf - 如何在MVVM-WPF中的某个事件上激活新页面?

c# - Reserved.ReportViewerWebControl.axd cookie 累积

c# - 是否可以为实体对象动态添加属性?

javascript - 如何将 DbGeography 参数发布到 MVC?

jquery - Kendo Grid 更改事件触发问题(当我单击一行时触发两次)

asp.net-mvc - 重写 HTTPS 规则后图像不显示

ruby-on-rails - 带有 HTTP header 的 redirect_to

c# - MVVM 可编辑组合框绑定(bind)

c# - 将零件渲染到 Orchard CMS 中的不同区域