![]() |
|
|
![]()
|
|
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 1 Всего: 9 |
Привет всем!
У меня возникла такая проблема. Есть скрипт, есть .htaccess файлик
Все бы хорошо, да заметил я, что скрипт исполняется 2 раза, т.е. первый раз он исполняется, но результат работы куда то девается (надеюсь в /dev/null), ну а второй раз уже отдается в браузер! Как избежать 1 запуска? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Запускаешь на локальном сервере через браузер?
Какой показатель показывает, что идет два раза выполнение? |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 1 Всего: 9 |
Запускаю на сервере http://chuck.freemail.uz/
Показатели: в базе поле хитов увеличивается не на 1, а на 2! Так же в конце скрипта вставил такой вот код
Результаты тут http://chuck.freemail.uz/counter.txt Как видите, заходя 1 раз, ваш IP записывается 2 раза! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Поставь в конце правила [L]
|
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 1 Всего: 9 |
Поставил, результат тот же!
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Так, а если в index.php оставить ТОЛЬКО код записи в файл, и проверить, результат - тот же?
Полностью .htaccess приведи. |
|||
|
||||
| Chuck |
|
||||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 1 Всего: 9 |
вот скрипт
Вот файл .htaccess
Может забить на этот RewriteRule и парсить $_SERVER["REQUEST_URI"]? |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 1 Всего: 53 |
имхо - не поможет ничего, это так mod_rewrite работает..
|
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Это почему?
Ну это конечно было бы лучше RewriteRule ^.*$ index.php [L.QSA] |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 1 Всего: 53 |
потому что у меня была такая же проблема, решил только через запоминание времени в сессии.. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Не, ты объясни почему реврайт так работает? Этого не может быть. Значит где-то есть логическая ошибка ;) |
|||
|
||||
| Irokez |
|
||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 1 Всего: 53 |
mod_rewrite - модуль для обработки запросов, при переделывании запроса (RewriteRule) мод реврайт получает один запрос, составляет второй и отправляет результат его выполнения браузеру, но при этом то первый запрос он тоже выполняет (?), но просто браузеру он не передает.. хотя логичнее предположить что первый запрос никуда не отправляется, но тогда как может модуль узнать что
если сервер не выполняет первый запрос... тогда и получается: выполняется первый запрос, получаются все данные (является ли запращиваемый ресурс файлом, директорией, линком итп), переделывается согласно правилу и результат отправляется обратно браузеру.. таковы мои рассуждения, возможно я неправ.. чтобы разобраться надо в очередной раз прочитать мануал по мод_реврайту.. |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
не может такого быть, т.к. тогда бы mod_rewrite'ом никто не пользовался, ну сам подумай. |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 1 Всего: 53 |
да вот думаю... просто практика показывает обратное... возможно запрос идет "неполный" |
|||
|
||||
| Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 1 Всего: 9 |
Нифига он браузеру не может отрпавлять, глупость! mod_rewrite подобен процедуре, которая перехватывает у apache URI, переделывает его по правилам и, тут самое интересное, посылает запрос (GET, POST, HEAD) (как будто это браузер) опять апачу! Так вот вопрос, как это избежать, как избежать первого запроса .... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |