2012-08-01 267 views
0

一個只想:阿帕奇重寫規則重定向

vhost1.xyz.com/name1/* 

重定向到:

vhost2.xyz.com/name2/* 

例子:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com 

重定向到:

vhost2.xyz.com/name2/24ds21t31?kofs=oif.com 

這將永遠是這樣的:?/名1/some_number_ &字符名稱=網址

我曾嘗試這樣的代碼:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/$ 
RewriteRule . - [E=myUri:%1,E=myQuery:%2] 
RewriteRule . http://vhost2.xyz.com/name2/%{ENV:myQuery} [R=301,L] 

但它makeing:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com 

重定向到:

vhost2.xyz.com/name2/kofs=oif.com 

so「24ds21t31?」部分丟失,我需要這個。

回答

0

試試這個:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/(.+)$ 
RewriteRule . http://vhost2.xyz.com/name2/%1 [R=301,L] 

編輯:我們需要的所有字符......不僅點(我犯了一個錯誤,因爲我累了)。 (。+)而不是(\。+)

EDIT2:與主機之前? (vhost1.xyz.com在rewriteCond) 你有沒有別名或其他重寫cond之前? 如果name1不存在,這也是一個問題...(和別名或創建一個空目錄應該是一個解決方案)

+0

感謝重播,不幸的是我得到:404與vhost1.xyz.com/name1 /24ds21t31?kofs=oif.com在我的瀏覽器中... – user1443373 2012-08-01 10:05:58

+0

謝謝,檢查了編輯後的版本,但它不會幫助 - 仍然是一樣的。我認爲可能有一個問題,即vhost1.xyz.com/name1/實際上不存在,並且在嘗試重定向之前拋出404錯誤?我不確定這是否有道理。無論如何,從主題的代碼我沒有得到任何404,它是重定向,但不是我想要的。 – user1443373 2012-08-01 10:16:13

+0

它重定向,我剛剛犯了不同的錯誤。謝謝,我正在進一步檢查。 – user1443373 2012-08-01 10:20:36