[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загадочные и нежелательные редиректы
eXaM
Собственно, вопросов два. Имеем следующий .htaccess, построенный по уроку еще времен Irbis School :):
AddDefaultCharset UTF-8
#php_flag magic_quotes_gpc off
#php_flag magic_quotes_runtime off
#php_flag register_globals off
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
IndexIgnore *

# php_value error_reporting 2047
# php_value error_log "/error.log"
php_flag log_errors on
#php_flag display_errors off

php_flag display_errors on

RewriteEngine on

RewriteRule ^admin/(.*)$ admin/index.php?route=$1 [L,QSA]

RewriteCond %{REQUEST_URI} !^/admin

RewriteCond %{REQUEST_URI} !^/favicon.png
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

На самом сайте всё хорошо. Но в админке две проблемы:
1) Если ввести адрес, скажем, http://site.ru/admin/news, то автоматически происходит странная переадресация на http://site.ru/admin/news/?route=news. То есть откуда ни возьмись появляется получившийся после рерайта адрес. Если дописать в конце адреса слэш, т.е. http://site.ru/admin/news/, то "хвост" не появляется. Весь гугл изрыл, ничего похожего не нашел.
2) Сделал клиенту сайт. У меня на локальном сервере и на моем хостинге всё работает нормально. Но на хостинге клиента внезапно начались проблемы. Заходишь в админку - происходит странный редирект на https://site.com:80/admin и браузер выдает ошибку SSL_ERROR_RX_RECORD_TOO_LONG. В общем-то оно и логично, какой же https в 80 порту-то. Если вручную исправить на http или 443 порт, то все работает. Но стоит нажать на ссылку, как ошибка возвращается. Причем на каких-то ссылках этой ошибки нет. Что еще более странно, иногда проблема исчезает, но потом возвращается. Хостер клянется, что у него всё ок и проблема на моей стороне. Как быть?
icedfox
eXaM
1. не уверен , но возможно проблема в [L,QSA], поиграйся.
2. В урл совсем не надо указывать порт, браузер сам будет использовать нужный. Если редиректит с https://site.com/admin на https://site.com:80/admin , то клятвы хостера гумно , т.к. проблема в конфиге апача или ngnx (тут общий конфиг или конфиг виртуалхоста.)
eXaM
icedfox, но ведь у рерайта для всего сайта флаги такие же, но почему-то именно в админке эта нелепая конкатенация возникает. И кстати еще странность такая: открываю .htaccess в Geany, не изменяя текста файла сохраняю, он перестает работать. Апач выдает Internal Error. Думал дело в BOM или кодировке, но как ни тыкал, результат тот же.
А редирект как ты и сказал, да, 80 порт появляется вместе с https. Убедил клиента отказаться от услуг этого хостера уже, благо оплачен хостинг был всего на месяц вперед.
icedfox
eXaM, кинь .htaccess , который не работает после сохранения, перепроверю тебя.
eXaM
icedfox, внезапно заработало. Каким-то образом удалялась строка с DirectoryIndex, не сразу заметил. Потыкал [L, QSA] в разных комбинациях - не помогло.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.