IIS 301 从“/index.html”重定向到“/”以实现 SEO 规范化

IIS 301 从“/index.html”重定向到“/”以实现 SEO 规范化

我使用了这里解释的针对 IIS 的技术(http://www.webconfs.com/how-to-redirect-a-webpage.php),但当应用于“/index.htm”并重定向到“/”时,这似乎会导致无限循环。在 IIS 中还有其他方法可以做到这一点,以便它不会无限循环吗?

此页面是静态 HTML,因此我无法实现 ASP 或 ASP.net 解决方案。有什么想法吗?

答案1

如果您使用的是 IIS7,您的应用程序(即使它只是一个静态 HTML 网站)也可以有一个 web.config。请查看以下帖子,看看这是否有助于设置您的重写规则(假设您可以将 IIS Rewrite 模块用于您的网站): https://stackoverflow.com/questions/4206053/windows-server-web-config-strip-index-filename

答案2

由于它是静态 html,因此您需要使用 URL 重写器;ISAPI 过滤器在处理 http 请求之前会拦截这些请求,因此可以转换 URL。最主要的是 ISAPI Rewrite,价格约为 100 美元。此功能是 Apache 的原生功能。

您发布的 URL 中描述的方法不适用于您的情况。

答案3

您可以创建一个 /index.html/ 目录并放置一个具有正确重定向的 default.asp 文件,这是最不明智的解决方案。要启用 isapi 过滤器,您必须能够访问 iis 控制台。

答案4

这是因为遗留/外部链接,还是因为用于管理内容的任何工具所创建的内部链接?如果是前者,您可以将实际索引页命名为其他名称,并在 IIS 默认页面选项中将该名称置于更高的位置,然后可以将 index.htm 设置为重定向到 / 而不会出现循环。

如果是为了绕过带有问题内部链接的页面生成工具,则此方法将不起作用,因为链接也会更新为该替代文件名。但是,如果主页不经常编辑,并且可以接受少量手动工作,则将其保留为 index.htm 并手动将其复制到为 IIS 默认设置的任何名称都可以使其正常工作。

相关内容