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。

需要帮忙!

先谢谢了。

4

1 回答 1

4

好消息,您正在使用 IIS7 并且您的 GoDaddy 主机支持 UrlRewrite 模块:

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

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

代码:

<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 友好的重定向)。

于 2013-07-21T11:01:27.963 回答