【发布时间】:2014-07-08 13:27:57
【问题描述】:
我们最近使用 WordPress 在新域上设置了一个新网站,以使用平面文件替换我们的旧网站。由于时间限制,我们几乎没有时间进行计划,最终有人在 IIS 管理器中设置了重定向。
这意味着旧网站中几乎每个文件夹的每个页面都有以下内容:
<location path="old-file.html">
<system.webServer>
<httpRedirect enabled="true" destination="http://new-domain.com/new-page/" exactDestination="true" childOnly="true" httpResponseStatus="Permanent" />
</system.webServer>
</location>
问题在于,这是一个拥有大约 15k 页面的大型网站,只有大约 1k 页面被手动重定向到新的 URI。这意味着我们可能有 14k 页面的遗留内容(实际上是死 URL,其中一些太旧了),但我们需要将其重定向到新域的根目录。
因此,几乎每个文件夹都有一个 web.config,其中每个重定向页面都有上述代码块的一个实例,但我们需要将未以这种方式重定向的每个页面重定向到固定位置。
由于页数的原因,手动配置不是一个选项。我曾想过使用一种工具添加一行 PHP 来处理对每个 .php 和 .html 文件的重定向(PHP 必须在此站点上解析 html 文件以获取遗留内容),但这远非理想。
理想情况下,我可以在 web.config 中添加一些内容,即“对于尚未通过 <location> 重定向的任何请求,将其重定向到“http:// domain.com”。即使这意味着在每个文件夹中的 web.config 中添加一些内容,这样可以节省几天的工作时间,比如如果没有匹配的位置,然后重定向。
我在 <location> 块中搜索了多个位置或通配符,但似乎不可能,所以我不确定在这里做什么——感谢任何帮助!
【问题讨论】:
标签: iis redirect web-config seo http-status-code-301