将.htm重定向到.html-IIS
我们已经重建了我们的网站,我们的扩展将是将.htm重定向到.html-IIS,iis,url-rewriting,url-redirection,Iis,Url Rewriting,Url Redirection,我们已经重建了我们的网站,我们的扩展将是.html。目前,它们是.htm。当用户从书签页面(例如.htm)访问我们的站点时,我希望它重定向到.html版本 我已经查看了stackoverflow,看看是否已经有了这方面的问答。大多数都与Apache-.htaccess相关。我正在使用IIS。关于stackoverflow,我能找到的最接近的答案是: 我试着按照那篇文章中的建议去做,但没用。该网页告诉我此网页有一个重定向循环。和错误代码:ERR\u TOO\u MANY\u重定向 我在IIS的UR
.html
。目前,它们是.htm
。当用户从书签页面(例如.htm
)访问我们的站点时,我希望它重定向到.html
版本
我已经查看了stackoverflow,看看是否已经有了这方面的问答。大多数都与Apache-.htaccess相关。我正在使用IIS。关于stackoverflow,我能找到的最接近的答案是:
我试着按照那篇文章中的建议去做,但没用。该网页告诉我此网页有一个重定向循环。
和错误代码:ERR\u TOO\u MANY\u重定向
我在IIS的URL重写模块中。我为入站规则创建了一个新的“空白规则”。下面是我按照stackoverflow帖子的建议使用的设置:(顺便说一句,我本来会在那个帖子中发布这个,但它已经有3年多的历史了,所以我不确定是否有建议)
请求的URL:与模式匹配
使用:正则表达式
模式:(.*).htm(.*)
已选中忽略案例
条件:本地分组:全部匹配
我加了一个条件
条件方法:{REQUEST\u Method}
检查输入字符串:是否与模式匹配
模式:^GET$
已选中忽略案例
操作类型:重定向
重定向URL:{R:1}.html{R:2}
已选中附加查询字符串
重定向类型:永久(301)
我做301是因为我想让搜索引擎知道我们的URL扩展已经改变了。我们的URL完全相同。唯一的区别是它们将是
.html
而不是.htm
。所以something/something.htm
是something/something.html
规则应该简单到:
<rule name="htm to html" stopProcessing="true">
<match url="(.+).htm$" />
<action type="Redirect" url="{R:1}.html" />
</rule>
或在配置屏幕中:
此规则将任何以
.htm
结尾且包含至少比.htm
多一个字符的url重定向到同一url,但将.htm
替换为.html
非常感谢!那很好用。我不会再有循环错误了。非常非常感谢!