| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > IE и mod_rewrite |
| Автор: webevt 15.3.2008, 20:32 | ||
| IE слишком долго думает при использовании mod_rewrite. Время загрузки почти пустой страницы ~3 секунд.. В остальных браузерах такого не наблюдается.. Содержимое .htaccess:
В чем может быть проблема?.. |
| Автор: Feldmarschall 15.3.2008, 21:26 |
| в чем угодно. для начала смотри http заголовки, http://phpfaq.ru/na_tanke#headers |
| Автор: webevt 15.3.2008, 22:10 | ||
Функция getallheaders( ) вернула мне такие данные:
P.S. Не на танке я |
| Автор: gta4kv 15.3.2008, 22:14 |
| Может из-за gzip'a? Он включен? |
| Автор: Feldmarschall 15.3.2008, 22:16 |
| Полный обмен заголовками, а не getallheaders |
| Автор: skyboy 15.3.2008, 22:22 |
это заголовки запроса от браузера. а как насчет http://ua2.php.net/manual/ru/function.apache-response-headers.php? |
| Автор: webevt 15.3.2008, 22:23 | ||
Вот полный:
Включен. Но в Опере и Лисе все работает на ура...проблемы только с IE |
| Автор: gta4kv 15.3.2008, 22:27 |
| webevt, попробуй выключить.. ie он такой.. глючный |
| Автор: webevt 15.3.2008, 22:39 |
| gta4kv, нет, сжатие тут вроде непричем. Думал тормозит из-за заголовка Content-Length(размер передаваемых данных узнаю через ob_get_length) - изменил его, потом отключил вообще сжатие, но на скорость IE это никак не повлияло. Наблюдение: IE быстро загружает страницу, если на ней произошла какая-то ошибка. На сайте свой обработчик. При выводе ошибки, основная часть сайта(шапка+подвал) все равно загружается, но не тормозит при этом 4 секунды. Добавлено @ 22:43 Затормаживает так, что на эти 4 секунды подвисает(!!) эксплорер, как будто ему дают загрузить что-то очень большое(не нагруженную графикой страницу, а какую-то статью-книгу |
| Автор: webevt 15.3.2008, 23:08 | ||
| Извиняюсь, сначала не понял какие заголовки выкладывать Вот заголовки страницы с работающим RewriteRule:
Почему-то в этом случае видны все обращения эксплорера к dtd...это его и тормозит...только вот как от этого избавиться)) [UPDATE] Убираю doctype - страница быстро грузится, как и других бразуерах...Как только ставлю обратно, IE опять начинает лезть в него, отправлять по 4-5 левых запросов к w3.org.. |
| Автор: webevt 16.3.2008, 13:19 | ||
Причину такого торможения я обнаружил...Всему виной оказался javascript, находящийся в теге body, а точнее его содержимое:
Почему переопределение метода в объекте яваскрипта(!!), при работающем mod_rewrite(!!), вызывает такую непонятную реакцию у экслорера?...бред какой-то.. |
| Автор: ksnk 16.3.2008, 14:07 |
бред... Как выглядит тег <script >? должен быть правильный type... А кеширование в IE отключено? Чего-то он на DTD лазит не предъявляя теги кеширования. |
| Автор: awers 16.3.2008, 15:57 |
| я думаю вопрос решен, а остальное в разделе JavaScript... |
| Автор: webevt 16.3.2008, 19:23 | ||
| Fortop, ничего не приходит!
ksnk, кэширование в IE включено, в хэдере посылаются заголовки no-cache Лазит только тогда, когда срабатывает mod_rewrite и переопределяется js метод.. Ну, кое-как то он решен, но почему появляются такие глюки у эксплореров(6, 7, остальные не проверял) - неизвестно ;) |
| Автор: ksnk 16.3.2008, 20:25 | ||
Ну, тогда...
? |
| Автор: Fortop 16.3.2008, 21:38 | ||||
Так не бывает. Я, надеюсь, ты это понимаешь? Либо ты неправильно продиагностировал проблему, либо все таки стоит посмотреть пошагово что и где происходит. |
| Автор: webevt 17.3.2008, 19:12 | ||||
Точно. Прошелся еще раз) В скрипте есть еще одна заковыка: загрузка xml-дока средствами js, что, видимо, не нравится Explorer`у. Просто, не переопределив метод AJAX.callBack, не выполнялась эта загрузка, поэтому и торможение исчезало. Могу привести весь класс загрузки xml-документа, только это будет уже больше по части js.. хотя торможение все равно происходит из-за mod_rewrite IE начинает лезть в dtd при создании объекта DomDocument:
И только при работающем mod_rewrite)) P.S. Извиняюсь за путаницу |
| Автор: Fortop 17.3.2008, 22:44 | ||||
Есть подозрение, что результаты твоих AJAX запросов не кешируются по какой-то причине, как следствие dtd запрашивается каждый раз. |
| Автор: webevt 18.3.2008, 14:47 |
| Fortop, я не посылаю аякс-запросов при загрузке, а только переопределеяю метод, который будет обрабатывать эти запросы. Скрипт проверяет существование этого метода(простой if()) и выполняет загрузку xml-дока. Модераторам: создам примерно такую же тему в разделе JS, о скорости работы ActiveXObject('MSXML2.DomDocument') |
| Автор: webevt 19.3.2008, 22:34 |
| Проблема решена. http://forum.vingrad.ru/forum/topic-201252.html Всем спасибо. |