В .htaccess перенаправлять все домены, кроме одного

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

Мой .htaccess:

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

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

Ответ 1

Вам нужно добавить Rewritecond, чтобы он не перенаправлялся, когда вы уже в нужном домене. Есть множество примеров в Интернете, если вы указали это в Google, или см. Раздел RewriteCond документации Apache mod_rewrite.

То, что вы ищете, это что-то вроде:

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

Ответ 2

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

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