Проблемы с рекурсивным перенаправлением WordPress

У нас проблемы с рекурсивными перенаправлениями. Пока мы заметили это только в Safari, Mobile Safari и Firefox. Кажется, этого никогда не происходит в Chrome.

Сначала казалось, что проблема возникает только тогда, когда мы опускаем косую черту в конце, но теперь это происходит с или без косой черты, а иногда даже полностью перенаправляет нас на другую страницу.

файл .htaccess находится ниже. Это просто .htaccess по умолчанию, когда активны довольно постоянные ссылки.

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

В настоящее время я не могу предоставить ссылку на сайт или страницу, сообщающую нам об ошибке, поскольку на них содержится конфиденциальная информация. Я попытаюсь создать страницу, которая дублирует ошибку, но сейчас у меня нет времени. Пожалуйста, любая помощь будет принята с благодарностью. мы не уверены, что это проблема конфигурации сервера, htaccess или чего-то еще в WordPress.

У нас нет активных плагинов, и мы попытались переключить тему на стандартную, но проблема не исчезла.


person WH Web Dev    schedule 12.03.2012    source источник
comment
Попробуйте сначала очистить кеш браузера. Перенаправление Apache не зависит от браузера.   -  person Gerben    schedule 14.03.2012
comment
Сделано ... миллион раз.   -  person WH Web Dev    schedule 14.03.2012
comment
Эта проблема возникает на new.whitehardt.com, если вы перейдете на любую из внутренних страниц и удалите пробную косую черту. из URL-адреса, а затем попытайтесь перейти на страницу, это вызовет рекурсивное перенаправление в 99% случаев в Firefox. В chrome этого не происходит для меня, но у другого разработчика это происходит в chrome. Кто-нибудь, пожалуйста, расскажите об этом, пока мы вырываем волосы, пытаясь это исправить.   -  person WH Web Dev    schedule 14.03.2012
comment
Я вижу, что это происходит в Firefox и Chrome (также Canary). У 301 есть заголовок «powered by php», так что это не apache. См. Исправление ниже.   -  person Gerben    schedule 14.03.2012


Ответы (1)


Не уверен, что это помогает, поскольку что-то кажется серьезно неправильным, поскольку первое перенаправление правильное и добавляет косую черту, но последующие перенаправления перенаправляют на те же URL-адреса. Также я могу увидеть любые изменения в запросе после 301 или в запросе, если сам поместил URL-адрес в адресную строку.

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

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $0 !/$
RewriteRule .* $0/ [R,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
person Gerben    schedule 14.03.2012