旧页面不存在时asp.net中的永久重定向?

时间:2013-07-21 07:23:27

标签: asp.net iis-7 url-rewriting

希望大家都在这个论坛上度过美好时光。今天我加入了这个论坛并遇到了问题。我的问题是......

最近我创建了一个网站,当我创建它的页面时,1页面名称拼写错误。现在我想将此页面重定向到实际页面名称。我正在使用此代码:

<system.web>
     <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"></modules>

    <httpHandlers>
      <add verb="*" path="misspell url " type="UrlRedirection" validate="false" />
    </httpHandlers>
  </system.web>

此代码在本地服务器中很好,但是当我在服务器上传此代码时,显示500内部服务器错误。

点数: •我们使用了godaddy托管,IIS 7。

需要帮助!

感谢高级。

1 个答案:

答案 0 :(得分:4)

好消息,您正在使用IIS7,而您的GoDaddy托管支持UrlRewrite模块:

这意味着您执行以下操作:

  1. 删除您已设置的<httpHandler> <add />
  2. 在您的web.config中找到<system.webServer>
  3. 将其粘贴在开始和结束标记之间:
  4. 代码:

    <rewrite>
      <rewriteMaps>
        <rewriteMap name="StaticRewrites" defaultValue="">
          <add key="/oldurl.aspx" value="/newurl.aspx" />
        </rewriteMap>
      </rewriteMaps>
      <rules>
        <rule name="RewriteMap Rule">
          <match url=".*" />
          <conditions>
            <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
          </conditions>
          <action type="Redirect" url="{C:1}" />
        </rule>
      </rules>
    </rewrite>
    

    如果要重定向多个页面,可以根据需要添加任意数量的行:

    <add key="/oldurl.aspx" value="/newurl.aspx" />
    

    我只是在我的服务器上仔细检查了它,它产生了一个301重定向(这是一个永久的,seo友好的重定向)。