[英]301 redirect not working in IIS 7
我需要创建此301重定向规则: /blog/item.asp?n=12817
重定向到/blog/item/12817
我在IIS URL重写模块中使用以下参数创建了一个规则:
模式: ^blog/item.asp\\?n=([0-9]+)
重定向网址: blog/item/{R:1}
当我在IIS中对其进行测试时,它工作正常,并在我的web.config中创建了以下规则:
<rule name="Asp classic Legacy 301 redirect" stopProcessing="true">
<match url="^blog/item.asp\?n=([0-9]+)" />
<action type="Redirect" url="blog/item/{R:1}" appendQueryString="true" />
</rule>
但是,当我在浏览器中导航到/blog/item.asp?n=12817
,仍然显示The resource cannot be found.
文本Requested URL: /blog/item.asp
错误Requested URL: /blog/item.asp
为什么会这样呢? 我需要在其他地方切换其他东西吗?
谢谢
好的,我创建了另一个有效的规则:
<rule name="Asp classic legacy 301 redirect">
<match url="blog/item\.asp$" />
<conditions>
<add input="{QUERY_STRING}" pattern="n=(\d+)" />
</conditions>
<action type="Redirect" url="blog/item/{C:1}" redirectType="Permanent" appendQueryString="false"/>
</rule>
仍然想知道为什么Url重写模块会生成不起作用的规则?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.