2015-07-01 144 views
2

我有一堆域都去同一個網站,需要能夠將domainalias.com/folder/name重定向到網站.COM /文件夾/名。htaccess將一個域的所有子文件夾/頁面重定向到新域的匹配子文件夾(WordPress)

目前,我有以下的htaccess其儘可能重定向根域的作品,但只要我進入一個子目錄或子頁,它不會重定向:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 

# Redirect all domains to website.co.uk 
Options +FollowSymLinks 
RewriteCond %{HTTP_HOST} !^website.co.uk$ [NC] 
RewriteRule ^(.*)$ http://website.co.uk/$1 [L,R=301] 
</IfModule> 

所以爲了確認,我希望人們從http://anydomainalias.co.uk/any/sub/folder重定向到http://website.co.uk/any/sub/folder。因爲它是一個WordPress網站,我需要這個動態工作。我有50多個子域名,所以也希望避免爲每個子域名制定規則(因此,!^ website.co.uk規則)。

謝謝。

回答

1

有默認WP路由規則之前重定向規則:

<IfModule mod_rewrite.c> 
RewriteEngine On 

# Redirect all domains to website.co.uk 
RewriteCond %{HTTP_HOST} !^website\.co\.uk$ [NC] 
RewriteRule ^(.*)$ http://website.co.uk/$1 [L,R=301] 

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 

</IfModule> 

確保清除瀏覽器緩存後對其進行測試。

+0

對不起,我應該重新短語頁面,而不是文件夾。我需要將域別名中的所有頁面重定向到主域上的同一頁面。我永遠不會有完整的頁面列表,因爲該網站是一個動態的WordPress網站,所以無法爲每個網站制定規則。還有一個好的50個別名域名,所以我需要堅持!^ website.co.uk規則來處理所有事情。謝謝。 – Craig

+0

ok在這種情況下檢查我更新的答案。 – anubhava

+1

啊!把這個規則移到可溼性粉劑上面已經成功了。謝謝 :) – Craig

相關問題