Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
,除非後面的正常工作,:
RedirectMatch 301 ^/blog(/)?(.*)$ http://www.new-site.com/blog/$2
我已經試過各種版本,包括重寫規則,但沒有奏效。我如何保持第一個特定的規則,並寫一個「其他所有保持請求的URI和查詢字符串」規則?
感謝
Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
,除非後面的正常工作,:
RedirectMatch 301 ^/blog(/)?(.*)$ http://www.new-site.com/blog/$2
我已經試過各種版本,包括重寫規則,但沒有奏效。我如何保持第一個特定的規則,並寫一個「其他所有保持請求的URI和查詢字符串」規則?
感謝
好吧,假設這些都是隻有兩行,我所看到的是這樣的:
Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
RedirectMatch 301 ^/blog(/)?(.*)$ http://www.new-site.com/blog/ $2
這些基本上是說同樣的事情,那就是,在一場比賽中,將所有博客查詢永久重定向到新站點。
隨着第二個你說的匹配從一開始字符串/blog
與一個可能的斜線,你會捕獲,並可能更多的信息,你也將捕獲,然後只是把所有的信息blog/extra-picked-up-info
。這可能是問題的一部分,或者您可以通過重新排序指令來解決問題,並查看下指令是否接收優先級。
RedirectMatch 301 /blog(?:/\?)?(.*)?$ http://www.new-site.com/blog/$1
Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
否則,你將需要重新檢查你的URI,並找到一些更獨特的識別。
請發佈您的.htaccess文件。這可能是由它寫入的順序造成的,就像操作順序一樣。 – stslavik
如果這些是htaccess文件中的唯一兩行,它仍然不起作用,但只是第一行很好用! – beej