![]() |
|
|
![]()
|
|
| Drkwv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Возникла проблема с хостером, упорно утверждающим, что синтаксис директив .htaccess некорректен:
Это действительно так? Тут действительно имеется ошибка? Скрипт при этом редиректе падает с ошибкой 500 (причем не везде, а только у них на хостинге). Это сообщение отредактировал(а) Drkwv - 31.10.2007, 05:23 |
|||
|
||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
Лог читали?
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
access_log мне подключить удалось, но там нет ничего интересного, а error_log не появляется (видимо, из-за того что ошибка не фиксируется). Где посмотреть лог самого реврайта - я не знаю да и очень сомневаюсь, что он там вообще ведется. Сами же директивы работают просто - первый раз редиректит на index, а второй, когда обнаруживается подмена скрипта на самого себя, rewrite прекращает свою работу и запускает index. Этот способ описан по-моему, даже где-то в доках по apache. |
|||
|
||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
А модуль то подключен?
Добавлено через 1 минуту и 48 секунд Видимо, потому, что криво настроено логирование. Или не там искали. Логов реврайта нет - он модуль апача, и всё, связанное с ним (с реврайтом) логирует апач. -------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
А вот тут начинается самое интересное:
этот код работает как надо. Заменяем на index.php5 - не работает. И я не могу понять логику людей тупо твердящих, что проблема в синтаксисе. Может я не знаю чего? Это сообщение отредактировал(а) Drkwv - 31.10.2007, 15:23 |
||||
|
|||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
А php5 верно обрабатываются при вызове напрямую?
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Да. |
|||
|
||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
Нужен лог.
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
От службы тех. поддержки пришло письмо с правильным вариантом .htaccess. Пробным путем выяснилось, что работоспособность mod_rewrite зависит от одной строчки:
Т.е. код:
работает, а
не работает. Чем можно объяснить такое поведение? UPD:
также выдает ошибку. Это сообщение отредактировал(а) Drkwv - 1.11.2007, 17:22 |
||||||||||
|
|||||||||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
а
работает? -------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Да, работает а
при запросе прямо на index.php5 или другие файлы выдает ошибку. Я бы мог предположить, что оно вываливает ошибку если редирект идет сам на себя, но RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php5 тогда должен валиться при запросе прямо на index.php5, т.к. он является файлом и не подходит под первый RewriteCond и не является директорией, подходя под второй RewriteCond => должен перенаправить на самого себя и выдать ошибку, чего не происходит. Это сообщение отредактировал(а) Drkwv - 1.11.2007, 19:27 |
||||||
|
|||||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
Файл index.php5 существует?
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Конечно существует. Выводит phpinfo. Добавлено @ 19:50
работает
выдает ошибку
редиректит, но пропускает запросы напрямую к существующим файлам и директориям Это сообщение отредактировал(а) Drkwv - 1.11.2007, 19:51 |
||||||||
|
|||||||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: 2 Всего: 88 |
Тогда какой может быть редирект сам на себя, если
, проверив его на существование, не будет делать rewrite? P.S. Пошла полемика. Читайте ман по реврайту и лог апача - он всё знает. Это сообщение отредактировал(а) ZeeLax - 1.11.2007, 21:03 -------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Drkwv |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Да, я ошибся. Там AND по умолчанию для всех RewriteCond, поэтому не должен срабатывать. Сейчас наконец разобрался - оно с index.php5 посылало запрос в /cgi-bin/php5.cgi а mod его перехватывал и отправлял обратно на index.php5. В любом случае от хостера который не мог нормально ответить на мой вопрос, заставив потратить на это время, клиента нужно будет уводить куда-нибудь на мастерхост, что я и сделаю.
рабочий код, который, правда, не спасает от trailing slash если скрипт внутри директории. Возможно, если его чуть-чуть модифицировать, эту проблему тоже можно будет решить. Спасибо за участие. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |