Asp.net mvc 使用MVC4/IIS7.5重定向到非www url域

Asp.net mvc 使用MVC4/IIS7.5重定向到非www url域,asp.net-mvc,iis,web-config,Asp.net Mvc,Iis,Web Config,首先,我只是花了几个小时阅读类似的问题,但似乎没有一个答案适合我 我有一个MVC4应用程序存在SEO问题:非www不会重定向到www。我已在服务器(IIS7.5)和本地环境(VS2010)上安装了重写模块。 我尝试了很多方法,但似乎都不管用 理想情况下,我更希望在MVC4解决方案中使用重写规则,并避免进行服务器端配置,因为在部署到新服务器时更方便 我试图在我的web.config中放入以下代码块: <system.webServer> <validation vali

首先,我只是花了几个小时阅读类似的问题,但似乎没有一个答案适合我

我有一个MVC4应用程序存在SEO问题:非www不会重定向到www。我已在服务器(IIS7.5)和本地环境(VS2010)上安装了重写模块。 我尝试了很多方法,但似乎都不管用

理想情况下,我更希望在MVC4解决方案中使用重写规则,并避免进行服务器端配置,因为在部署到新服务器时更方便

我试图在我的web.config中放入以下代码块:

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <!-- code added for SEO non-www to www redirect -->
    <rewrite>
      <rules>
        <rule name="Remove WWW prefix" >
          <match url="(.*)" ignoreCase="true" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^domain\.com" />
          </conditions>
          <action type="Redirect" url="http://www.domain.com/{R:1}"
              redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
    <!-- SEO code -->
  </system.webServer>

,我刚得到一个404未找到的错误

我为这个部分尝试了几个代码块,但都不起作用。我还尝试在服务器上配置这个,但效果并不理想。最好的解决方案是在我的web.config中进行重写,以便在发布到新的web服务器时应用规则

有人认为这有什么问题吗?My web.config位于我的MVC4应用程序中,通过右键单击VS2010中的解决方案时获得的发布菜单发布

非常感谢您的回复

我也尝试了这个区块的规则,但它没有改变任何东西

  <rule name="Redirect to WWW" stopProcessing="true">
  <match url=".*" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^domain.com$" />
  </conditions>
  <action type="Redirect" url="http://www.domain.com/{R:0}" redirectType="Permanent" />
</rule>