2013-11-17 2 views
0

У меня есть 2 домена, один из них - старый, а другой - самый новый.cPanel wildcard redirect для всего домена

Что лучший способ использования файла .htaccess для перенаправления всех URL'ов на старых доменах к новому домену

, например, если я иду в old-domain.com/test было бы перенаправить на new-domain.com/test или если я пошел sub.old-domain.com было бы перенаправить sub.new-domain.com

+0

@doublesharp правильно ... на SO любезно, пожалуйста, примите свое решение ... –

ответ

1

Вы хотите использовать правило RewriteCond и параметр %{HTTP_HOST} для согласования в «старом» домене и при необходимости перенаправить на «новый». Если это соответствует, используйте команду RewriteRule для создания группы подстановочных знаков для выполнения перенаправления 301.

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} (www\.)?old-domain\.com [NC] 
RewriteRule (.*) http://www.new-domain.com/$1 [R=301,NC,QSA,L] 

Тест с http://htaccess.madewithlove.be/

input url 
http://old-domain.com/test 

output url 
http://www.new-domain.com/test 

debugging info 
1 RewriteEngine on 
2 RewriteBase/
3 RewriteCond %{HTTP_HOST} (www\.)?old-domain\.com [NC] 
    This condition was met 
4 RewriteRule (.*) http://www.new-domain.com/$1 [R=301,NC,QSA,L] 
    This rule was met, the new url is http://www.new-domain.com/test 
    The tests are stopped, using a different host will cause a redirect 
+0

это может также сделать поддоменов? – charlie

+0

Да, вам просто нужно использовать правильное регулярное выражение для субдомена в rewritecond – doublesharp

+0

У вас есть пример для этого, пожалуйста? – charlie

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