2013-07-25 4 views
0

В настоящее время я вношу изменения в файл .htaccess, чтобы mod_rewrite несколько URL-адресов. Я проделал некоторое чтение и придумал следующее.Действительный apache mod_rewrite в .htaccess

RewriteCond %{HTTP_HOST} ^(www\.)?foobar\.net [NC,OR] 
RewriteCond %{HTTP_HOST} ^foobar\.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^shop\.foobar\.com [NC] 
RewriteRule ^(.*)$ http://www.foobar.com/$1 [R=301,NC,L] 

Так что мой вопрос, является выше достаточно, чтобы перенаправлять следующие домены www.foobar.com, сохраняя при этом замыкающий URL (например. Www.foobar.net/booya должны идти www.foobar. ком/Booya):

  • www.foobar.net
  • foobar.net
  • foobar.com
  • shop.foobar.com
+0

Я думаю, что это достаточно хорошо. – anubhava

ответ

1

Да, и на самом деле, если вы не используете другие независимые домены, а те, и ваш новый foobar.com находится на другом сервере, вы можете просто удалить те RewriteCond.

С другой стороны, если вы служите в том же сервере, новый домен, и вы хотите, чтобы все другие возможные области быть перенаправлены на www.foobar.com (который я думаю, что это может быть ваш случай), вы могли бы попробовать вместо этого:

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

Таким образом, вам не нужно беспокоиться о том, что вы можете забыть о другом домене для перенаправления.

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