2014-03-27 74 views
0

我有一個客戶端項目,需要一個特定的域名重定向到另一個目錄,而其餘的網站是一個標準的WordPress安裝。htaccess重定向不重定向index.html頁面

我重定向似乎被正確地寫入,並放置在htaccess文件的頂部:

Options +FollowSymLinks 
RewriteCond %{HTTP_HOST} ^old_domain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old_domain\.com$ [OR] 
RewriteRule ^/?$ "http\:\/\/www\.new_domain\.com\/directory\/" [R=301,L] 

的問題是,它不會重定向http://old_domain.com/index.html

相反,它發出的用戶訪問WP的404頁面。

我在做什麼錯?

UPDATE:

接收,否則有益的建議後,我想一些額外的背景是爲了。

這是一個房地產項目。主要的WP網站(new_domain.com)用於公寓銷售,並且它們有一個獨立的公寓出租網站。

他們有第三個舊域(old_domain.com),他們希望重定向到一個門戶頁面(new_domain.com/directory),用戶可以在其中選擇購買或租用,然後進入相應的站點。

因此,我們不希望所有請求都被重定向,而只是使用傳統域的所有請求。

回答

1

以下規則應該有效。它應該從www.old_domain.comhttp://old_domain.com所有請求重定向到http://www.new_domain.com/directory

RewriteEngine On 
RewriteRule ^(.*)$ http://www.new_domain.com/directory/$1 [R=302, L] 

變化302301當您確定重定向工作

編輯:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^old_domian.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old_domain.com$ 
RewriteRule (.*)$ http://www.new_domain.com/directory/$1 [R=302,L] 
+0

也許一些情況是爲了。這是一個房地產項目。主要的WP網站用於公寓銷售,並且它們有獨立的公寓出租網站。他們有第三個舊域(old_domain.com),他們希望重定向到門戶頁面,用戶可以選擇購買或出租,然後進入相應的站點。所以,我們不希望所有的請求都被重定向,只是任何使用舊域名的請求都會被重定向。不過,我很欣賞這種努力。謝謝。 –

+0

如果您將代碼放入'old_domain.com'上的'.htaccess'文件,它只會重定向來自該域的請求。 – Howli

+0

這兩個域都解析爲相同的站點。 –

0

你必須有RewriteEngine On。您可以合併這兩個www。和非www。試驗。不要在最後一個RewriteCond之後放置[OR]。

RewriteCond %{HTTP_HOST} ^(www\.)?old_domain\.com$ 

是new_domain.com一個「附加」到old_domain.com,這樣既通過同一.htaccess文件,但使用不同的域名?或者這些物理上是分離的系統,它們有自己的.htaccess文件?也就是說,什麼URL會通過這個.htaccess文件?

您當前的代碼會重定向任何未來在old_domain.com到/directory/<original URI+Query String>上new_domain.com,並告訴搜索引擎和用戶更新他們的條目和書籤。那是你要的嗎?