правила переписывания apache htaccess делают цикл перенаправления - PullRequest
0 голосов
/ 07 мая 2010

Возникла очень странная проблема с перезаписью и перенаправлением URL-адреса Apache .htaccess. Вот мои настройки: У меня есть приложение Zend с единственной точкой входа (index.php) непосредственно под моим корнем документа apache (назовите это «публичной» папкой). У меня также есть все другие общедоступные файлы (изображения, JS, CSS и т. Д.) В общей папке. Здесь у меня также есть WordPress блог в папке «блог». Там тоже пустая папка для теста

Проблема

Когда я захожу на example.com/blog, меня перенаправляют на http://www.example.com/blog (правильно), затем на http://www.example.com/blog/ (только с дополнительным / в конце), наконец, на http://example.com/blog/ - и мы вернулись туда, откуда начали. Цикл продолжается. Что я не понимаю, так почему WordPress пытается удалить WWW? Я предполагаю, что это WordPress, потому что моя пустая папка тест работает нормально!

Еще одна странность в том, что я могу зайти на www.example.com/blog/wp-login.php или example.com/blog/wp-login.php, и он на самом деле ЗАГРУЗИТСЯ !!!!!

ПОЖАЛУЙСТА, ПОМОГИТЕ. Я ДЕЙСТВИТЕЛЬНО БЕЗУМНЫЙ :( Большое спасибо

Другие вещи, которые случаются:

Когда я захожу на example.com, меня правильно перенаправляют на www.example.com

Когда я захожу на www.example.com, я правильно остаюсь там, где я

Когда я захожу на www.example.com/test или example.com/test, поведение корректное.

Настройка

Итак, мой файл .htaccess делает следующее:

  • Если нет www., Добавьте его и выполните перенаправление 301. Вот код, который я использую

RewriteCond %{HTTP_HOST} ^example.com [NC]</p> <p>RewriteRule ^(.*)$ <a href="http://www.example.com/" rel="nofollow noreferrer">http://www.example.com/</a>$1 [L,R=301]

  • Если запрос НЕ для ресурса (изображения и т. Д.) Или блога, загрузите приложение zend, переписав его в index.php

RewriteRule !((^blog(/)?.*$)|(.(js|ico|gif|jpg|jpeg|png|css|cur|JPG|html|txt))$) index.php

Еще раз спасибо за вашу помощь !!! Али

1 Ответ

1 голос
/ 07 мая 2010

Проверяли ли вы настройки в Wordpress?Войдите в систему и проверьте Settings/Basics (или как это называется на английском, я использую шведский перевод)Там вы можете настроить, какой URL использует Wordpress.Если он установлен без www., Wordpress попытается перенаправить.

...