nii*_*ico 33 asp.net-mvc asp.net-mvc-routing asp.net-mvc-4
如何在ASP.NET MVC 4应用程序中添加路由到RouteConfig.cs文件以执行永久301重定向到另一个路由?
我想某些不同的路线指向相同的控制器动作 - 似乎301是最佳实践,特别是对于SEO?
谢谢.
Bas*_*imo 50
你必须使用RedirectPermanent,这是一个例子:
public class RedirectController : Controller
{
public ActionResult News()
{
// your code
return RedirectPermanent("/News");
}
}
Run Code Online (Sandbox Code Playgroud)
在全球的asax中:
routes.MapRoute(
name: "News old route",
url: "web/news/Default.aspx",
defaults: new { controller = "Redirect", action = "News" }
);
Run Code Online (Sandbox Code Playgroud)
Jon*_*ski 25
我知道你在RouteConfig上特别询问了如何做到这一点,但你也可以使用IIS重写规则来完成相同的工作.这些规则存在于您的web.config中,因此您甚至不需要使用IIS来创建规则,您只需将它们添加到web.config中,并随应用程序一起移动到所有环境中(Dev,Staging,Prod,等)并保持您的RouteConfig干净.它确实需要在IIS 7上安装IIS模块,但我相信它预先安装在7.5+上.
这是一个例子:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect t and c" stopProcessing="true">
<match url="^terms_conditions$" />
<action type="Redirect" url="/TermsAndConditions" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28024 次 |
| 最近记录: |