Я продолжаю получать варианты следующего ответа, и он не работает

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

Причина, по которой это решение бесполезно, заключается в том,

alwaysromaing.com/site

Я никогда не буду перенаправлен на WWW.alwaysroaming.com/site

Кто-нибудь может предоставить правильное переписывание, требуемое здесь?

2 ответа2

2

Я бы предложил это:

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

Ключевой частью является '/' после '^' во второй строке. NC означает, что он будет работать, если кто-то печатает в смешанном / верхнем регистре.

0

Это настолько распространенный вопрос, что он является частью документации для mod_rewrite - которую вы прочитали, верно?

Предполагая, что вы работаете на порту 80:

RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://fully.qualified.domain.name/$1 [L,R]

в документации есть еще один пример, если вы не используете порт 80, и рассматриваются другие распространенные сценарии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .