2014-11-27 4 views
1

Извините, это не вызывает сомнений несколько раз раньше, я просто хочу уточнить, что следующий код перенаправит любой URL-адрес на olddomain.com на домашнюю страницу newdomain.com не эквивалентный URL-адрес :Переадресация каталога веб-папки на другой htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\.olddomain\.com$ 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 
RewriteCond %{HTTP_HOST} !^olddomain\.com$ 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

Кроме того, если я хотел любой субдомен на olddomain.com eg.subdomain.olddomain.com, чтобы перейти на домашнюю страницу newdomain.com, что бы я должен делать? Могу ли я использовать универсальный селектор или я должен написать условие для каждого поддомена, как так:

RewriteCond %{HTTP_HOST} ^subdomain.olddomain.com$ 
RewriteRule ^(.*)$ http://subdomain.newdomain.com/$1 [R=301,L] 
RewriteCond %{HTTP_HOST} ^www.subdomain.olddomain.com$ 
RewriteRule ^(.*)$ http://subdomain.newdomain.com/$1 [R=301,L] 

ответ

1

Обе попытки не исправить, как первый будет перенаправлять:

http://olddomain.com/foobar to http://newdomain.com/foobar 

не на главную страницу newdomain. То же самое и со вторым правилом.

Вы можете использовать этот код в файле DOCUMENT_ROOT/.htaccess:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC] 
RewriteRule^http://www.newdomain.com/ [R=301,L] 

RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.olddomain\.com$ [NC] 
RewriteRule^http://subdomain.newdomain.com/ [R=301,L] 
+0

Как я и ожидал, спасибо, это очень полезно. –

+0

Добро пожаловать, рад, что это сработало. – anubhava

Смежные вопросы