htaccess: как принудительно использовать www - PullRequest
1 голос
/ 11 марта 2011

RE: .htaccess - как заставить "www." в общем?

Я задавал этот вопрос раньше и получил ответ:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Это работает, но теперь я вижу 301 Moved Permanently в заголовках ответа. Я хочу устранить 301-е. Является ли проблема вторым условием перезаписи? Если это что-то вроде "не начинается с" www. " с последующим именем хоста "?

Кстати, я хочу, чтобы это решение работало на любом сервере (то есть я не хочу жестко кодировать мое доменное имя).

Предложения

UPDATE:

Я только что понял, что выше не работает правильно. Если у меня есть следующее:

http://images.domain.com

Я не хочу, чтобы это изменилось на:

http://www.images.domain.com

Я не хочу, чтобы это влияло на субдомены. Я только хочу, чтобы это повлияло на отсутствие www.

1 Ответ

2 голосов
/ 11 марта 2011

Перенаправление в другой домен по определению невозможно без некоторого перенаправления заголовка.Если вы хотите, чтобы URL-адрес в браузере пользователя изменился, вы должны форсировать новый запрос.Обойти это невозможно.

У вас будет на выбор - коды статуса 301, 302 и 303 являются наиболее простым выбором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...