我在IIS中有ASP.NET MVC 3项目。我需要实现301重定向,我有这样的样本
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.ua$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://www.mysite.ua/$1 [R=301,L]
有没有办法在MVC 3中实现这样的功能而不向IIS添加URLRewrite模块?
好的,所以我安装了URLRewrite,这是我的web.config
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^example.com$" />
<add input="{URL}" pattern="^/robots.*" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
我需要将此内容从example.com重定向到www.example.com。但现在它没有重定向。
答案 0 :(得分:2)
由于您使用的是MVC 3
,因此您可以在控制器中永久使用三种重定向方法(301):
以下是一个例子:
Response.RedirectPermanent("http://www.google.com");
或从控制器返回ActionResult类型:
return RedirectPermanent("http://www.google.com");