2013-11-27 2 views
0

Привет, извините, если ответ находится где-то в другом месте, но я выполнил поиск и не столкнулся с этой проблемой. Я хочу использовать 301 для перенаправления www на не-www, и это код, который я использую.301 Перенаправление работает только с обновлением

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

Это своего рода работ .. Если вы наберете в www.exaple.com он не работает, но если вы обновите страницу, то он работает.

Кто-нибудь знает, что здесь происходит?

Спасибо!

ответ

1

Правило работает нормально, в вашей проблеме используется R=301 (постоянная переадресация), которая сообщает браузерам агрессивно кэшировать перенаправленные URL-адреса.

Когда вы принудительно обновляете браузер, тогда на веб-сервер отправляется только запрос браузера, в противном случае он обслуживает содержимое из своего кеша.

Как правило, следует избегать использования R=301 (Перманентный переадресация) при проверке правил mod_rewrite.

+0

Я несколько раз очистил свой кеш/историю/настройки, но он продолжает эту проблему? Мой кеш составляет только один день (примерно), поэтому изменения достаточно часто обновляются. Какой код вы бы предложили использовать? – user2547729

+0

Измените 301 на 302 для тестирования, а затем очистите кеш браузера. – anubhava

+0

Ну, я ничего не изменил и проснулся сегодня, и теперь он отлично работает. Надеюсь, это так. Спасибо, парни! – user2547729

Смежные вопросы