【问题标题】:How to redirect a page in ISAPI_Rewrite如何在 ISAPI_Rewrite 中重定向页面
【发布时间】:2011-07-20 18:04:25
【问题描述】:

我使用 ISAPI_Rewrite v2 并且我有这个规则:

    RewriteRule ^/cnvrt$ /convert [I,RP]
    RewriteRule ^/convert$ /convert.aspx [I,L]

我希望每当有人进入 site.com/cnvrt 时,它都会将他重定向到 site.com/convert

上述规则的问题在于它只是放置了一个窗口,显示该页面可以在此 url 下找到:...。 而我想要的是将他重定向到页面(网址会改变)

我不想在代码级别处理它。

我该怎么做?

谢谢

【问题讨论】:

    标签: redirect isapi-rewrite isapi-redirect


    【解决方案1】:

    这是一个很好的方案,将旧的重写 url 作为 301 重定向永久重定向到新的,然后将新的 url 重写到页面。

    试试这些 v3 规则:

    RewriteRule ^/cnvrt$ /convert [NC,R=301]
    RewriteRule ^/convert$ /convert.aspx [NC,L]
    

    您使用的是什么版本:v2 还是 v3?

    有趣的是,我在 v3 下尝试了你的 v2 规则,他们就按照你说的做了,重写但不重定向。我认为原因是第一条规则将 /cnvrt 重写为 /convert,但 RP 不是重定向语法。没有重定向,也没有最后一个 L,所以它落入下一条规则,将 /convert 重写为 /convert.aspx 页面。

    【讨论】:

    • 我正在使用 v2,那么我该如何进行重定向?
    • 您的规则看起来适合 v2,但我会对其进行测试并查看。您的规则文件的名称是什么? httpd.ini 还是 .htaccess?
    • 它的 .ini ,ISAPI Rewrite 识别这个规则(我知道这个是因为我得到“你的 oage 可以在这里找到..”)但它不执行重定向。
    • 我在 v2 中的问题中尝试了您的规则,它们对我有用。我正要建议打开日志记录,但刚刚得知 v3 有日志记录,而 v2 没有。也许 fiddler2 会帮助确认它。尝试相同的规则,但使用不同的文件名,例如 cnvrt2、convert2 - 我在第一次尝试时遇到了谷歌浏览器缓存的问题,并且没有遵循我的更改。除此之外,考虑升级到 v3 - 我必须习惯它,但一旦我这样做了,它就变得更容易了。我还没有尝试过 Ape - 他们建议 IIS7 使用它。
    • 我无法升级到 v3。页面是否重定向到 /convert(我的意思是它是否将显示 URL 更改为 site.com/convert)?或者它只是说可以在 site.com/convert 中找到该页面?
    【解决方案2】:

    [I,RP] 用于 ISAPI_Rewrite 2 [NC,R=301] 用于 ISAPI_Rewirte 3

    【讨论】:

      猜你喜欢
      • 2018-10-24
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多