我们已经重建了我们的网站,我们的扩展将是.html
. 目前,它们是.htm
. 例如,当用户从带有书签的页面访问我们的网站时.htm
,我希望它重定向到该.html
版本。
我查看了stackoverflow,看看是否已经有关于此的问答。大多数与 Apache - .htaccess 相关。我正在使用 IIS。我在 stackoverflow 上能找到的最接近的答案是:IIS url rewrite rewriting all .asp to .html
我尝试按照该帖子中的建议进行操作,但它不起作用。网页告诉我This webpage has a redirect loop.
和Error code: ERR_TOO_MANY_REDIRECTS
我在 IIS 的 URL 重写模块中。我为入站规则创建了一个新的“空白规则”。以下是我按照stackoverflow帖子的建议使用的设置:(顺便说一句,我会在那个帖子中发布这个,但它已经超过3年了,所以我不确定是否建议这样做)
请求的 URL:匹配模式
使用:正则表达式
图案:(.*).htm(.*)
忽略大小写被选中。
条件:本地分组:匹配所有
我添加了一个条件...
条件方法:{REQUEST_METHOD}
检查输入字符串是否:匹配模式
图案:^GET$
忽略大小写被选中
动作类型:重定向
重定向网址:{R:1}.html{R:2}
附加查询字符串被选中
重定向类型:永久 (301)
我正在执行 301,因为我希望搜索引擎知道我们的 URL 扩展名已更改。我们的 URL 完全相同。唯一的区别是它们将.html
代替.htm
. 所以……something/something.htm
是something/something.html
。