2014-03-30 46 views
0

我有兩個不同的域。讓我們稱他們爲domain1和domain2。如何修改重寫域,但保持完整域後的東西

我需要國防部重寫:

www.domain1.com/some/stuff/after-domain

,使之成爲:

www.domain2.com/some/stuff/域名後

基本上,域後的所有內容都應該保持不變。唯一的區別應該是更改域名。任何人都可以幫我解決這個問題的重寫規則。我試過以下,但它不適合我。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^domain2.com$ [OR] 
    RewriteCond %{HTTP_HOST} ^www.domain2.com$ 
    RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L] 
</IfModule> 

而且,請注意,{REQUEST_URI}和{} REQUEST_FILENAME不會爲這個應用程序。

謝謝你一如既往。

編輯: 每獲取更多信息的請求,結果使用上述規則時,我得到: http://www.domain1.comhttp//www.domain1.com/some/stuff/after-domain

此外,我忘了指定,我想在DOMAIN1出現在地址欄URL ,但拉內容基於domain2(這是甚至可能嗎?)

+0

你說的不工作呢?它會給出錯誤嗎?它只是沒有做任何事情嗎?在Apache配置中啓用'AllowOverride'?需要更多信息。 –

+0

根據您的要求更新 – brybott

回答

0

我假設一般情況下,你要重定向到一個域的一切,所以你不需要指定每個可能的置換:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www.domain1.com$ 
RewriteRule ^(.*)$ http://www.domain1.com$1 

這應該實現我認爲你正在嘗試做的事情。

+0

感謝您的幫助。不幸的是,你的解決方案錯過了.com和some/stuff/after-domain之間的「/」。另外,我忘了指定我希望domain1出現在地址欄網址中,但是會根據domain2提取內容。 – brybott

0

以下應爲你工作:

RewriteEngine On 
Redirect 301/http://www.domain2.com/ 

應該重定向:www.domain1.com/some/stuff/after-domain - >www.domain2.com/some/stuff/after-domain

+0

謝謝你的幫助。不幸的是,我沒有指定我想讓domain1留在地址欄中。 – brybott

+0

你可以再試一次嗎(你可能需要做一個新鮮的)。它將我的網址更改爲新域名 – Howli

+0

是的,對不起,我希望舊網域網址保留在地址欄中。但基於新域加載內容。 – brybott

相關問題