В .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]