2014-01-16 65 views
1

我不得不把所有的URL這樣的重定向:奇怪的URL重寫行爲

http://www.domain.ltd/foo/bar/var1/var2/var3.html 
to 
http://www.other.ltd/search?q=var3&long=0 

我試過如下:

RedirectMatch 302 ^foo/bar/(.+)/(.+)/(.+)\.html$ http://www.other.ltd/search?q=$3&long=0 

這似乎工作,但我有一個網址還在堅持我的var3變量的末尾:

http://www.other.ltd/search?q=var3/foo/bar/var1/var2/var3.htmllong=0 

任何線索?

+0

你有其他規則或在您的htaccess文件重定向? –

+0

是的,但是這個先進來,就在RewriteEngine On& RewriteBase/ – user2733521

回答

1

使用mod_rewrite規則剝離原始查詢字符串。

將這個代碼在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 
RewriteBase/

RewriteRule ^foo/bar/([^/]+)/([^/]+)/([^.]+)\.html$ /search?q=$3&long=0 [R=301,L,NE] 
+0

/search?q = $ 3&long = 0之後,我需要在另一個域上重定向 – user2733521

+1

在另一個瀏覽器中試試這個,以避免301緩存併發布信息您的完整.htaccess有問題。 – anubhava

+1

它適用於其他瀏覽器!謝謝 ! – user2733521