2015-02-10 79 views
1

我甚至不知道如何正確地問這個問題,因爲我從來沒有見過它做過。我非常擅長編輯名稱服務器,創建記錄和cname等,但我不知道這是否可能。重定向已經301重定向的域的URL

我有一個擁有多個域的客戶端,它們都指向同一個站點。所以說主要的域名是www.client-site.com。然後www.other-domain-1.comwww.other-domain-2.com只是設置爲301重定向到指向www.client-site.com

所以,一切都很好,直到目前他正在請求www.other-domain-1.com/facebookwww.other-domain-1.com/linkedin點到他的Facebook頁面或LinkedIn個人資料,而不是重定向到主域名。

301重定向發生在註冊商,我不相信有一種方法可以從那裏做他想做的事。但我想我可以將它指向Web主機名稱服務器並將其作爲插件域包含它,然後使用.htaccess文件僅對主機名執行301重定向,然後根據需要重定向主機名/路徑。

那麼這樣做的正確方法是什麼?喜歡的東西...

Redirect 301 http://other-domain-1.com/facebook http://facebook.com/account 
Redirect 301 http://other-domain-1.com/linkedin http://linkedin.com/profile 
Redirect 301 http://other-domain-1.com http://client-site.com 

回答

1

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代碼:

RewriteEngine On 

# facebook redirect 
RewriteCond %{HTTP_HOST} ^(www\.)?other-domain-1\.com$ [NC] 
RewriteRule ^facebook/?$ http://facebook.com/account [L,NC,R=302] 

# linked-in redirect 
RewriteCond %{HTTP_HOST} ^(www\.)?other-domain-1\.com$ [NC] 
RewriteRule ^linkedin/?$ http://linkedin.com/profile [L,NC,R=302] 

# rest of the redirects 
RewriteCond %{HTTP_HOST} ^(www\.)?other-domain-1\.com$ [NC] 
RewriteRule^http://client-site.com%{REQUEST_URI} [L,NE,R=302] 
+1

在這種情況下,不應該是永久重定向嗎? – skribe 2015-02-10 12:11:31

+1

是的,一旦規則驗證正常,這些應該轉換爲'301'。在測試階段,一個人不得使用'301',因爲惡意重定向也會被緩存在瀏覽器中。 – anubhava 2015-02-10 13:59:17

+0

你的解決方案只有在我從'(?:www \。)'中刪除了'':''後才能使用?你能解釋一下嗎?在我刪除它們之前,重定向只是簡單地將重寫url連接到主域名,例如這個「http:// client-site.com/www.facebook.com」而不是重定向 – skribe 2015-02-10 14:52:45

0

所以,基於以上anubhava回答我的服務器上工作的解決方案是

facebook redirect 
RewriteCond %{HTTP_HOST} ^(www\.)?other-domain-1\.com$ [NC] 
RewriteRule ^facebook/?$ http://facebook.com/account [L,NC,R=302] 

然後在得到它們後,所有工作都將R=302更改爲R=301,以使重定向成爲永久性的。

+0

請不要在答案部分發表。您可以在我發佈的答案下面或在您的問題下面發表評論 – anubhava 2015-02-10 15:00:02

+0

我接受了你的答案。但是我在閱讀堆棧溢出幫助之前,先回答我自己的問題,並且我發現這樣做是完全可以接受的,因爲**我自己制定了一部分解決方案。**對我來說,這樣做沒有意義你做了,如果你的原始答案是正確的,但在我的特定服務器上不起作用。由於您現在編輯了答案,所以有些評論沒有意義。 – skribe 2015-02-10 15:10:49

+0

刪除'(?:...)'的變化本質上是非常小的,不會改變規則的整體流程。這就是爲什麼像這樣的小問題應該通過留下評論答案來解決。希望澄清。我已經提出了你的問題。 – anubhava 2015-02-10 15:12:59