Возникла очень странная проблема с перезаписью и перенаправлением 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
Еще раз спасибо за вашу помощь !!!
Али