2012-06-15 3 views
10

У меня есть несколько доменов на моем сервере. Я хочу перенаправить все из них на один (example.net).В .htaccess перенаправлять все домены, кроме одного

Мой .htaccess:

RewriteEngine on 
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L] 

Я перенаправляет все URL-адреса на моем сервере в одной основной домен, но домен также перенаправлять к себе. Поэтому www.example.net возвращает 301 Moved Permanently и перенаправляет обратно к себе. Мне сказали, что это плохо для SEO. Как я могу это исправить?

ответ

23

Вам необходимо добавить Rewritecond, чтобы предотвратить перенаправление, когда вы уже находитесь в домене, который вы хотите. Есть множество примеров в Интернете, если вы указали это в Google, или смотрите RewriteCond section of Apache’s mod_rewrite documentation.

Что вы ищете что-то вроде:

RewriteEngine on 
Rewritecond %{HTTP_HOST} !^www\.example\.net 
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L] 
0

Просто небольшую заметку: Спасибо идет к Триг, но мне пришлось удалить один слеш чтобы заставить его работать правильно (сог он добавил две косые черты после доменное имя). Это работает для меня:

RewriteEngine on 
Rewritecond %{HTTP_HOST} !^www\.example\.net 
RewriteRule ^(.*)$ http://www.example.net$1 [R=301,L] 
Смежные вопросы