繁体   English   中英

301重定向在IIS 7中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM