Эта тема на forum.dklab.ru


Иван Шумков: Очень хитрая ошибка
Пишу Контент менеджер. И в коде закралась очень хитрая ошибка:
Internet Explorer не открывет некоторые страницы и пишет "Операция прервана", и раздается два "щелчка", как буд-то она два раза перегружается.

Если есть время не могли бы взгялнуть на код?

P.S. В интернете можно посмотреть shumkov.ru (admin/ L:demo, P:demo)
Ant:
http://phpfaq.ru/debug
Иван Шумков:
Интересно. Добавил в скрипт запись в файл числа 1. Так он за одну загрузку сразу три еденицы пишет. Это ознаечает что скрипт три раза запускается перед тем как выдать страницу? Из-за чего такое может быть? Редиректы?
Иван Шумков:
С редиректами все нормально, может дело в модреврайт?
Иван Шумков:
Урезал весь скрипт до:
$fh = fopen("error.xml","a");
fwrite($fh,"1");
fclose($fh);

// Парсим урл
if (isset($_GET['request'])) $strUri = preg_replace("/\/$/", "", preg_replace("/\/\//", "", urldecode($_GET['request'])));
else $strUri = null;

print $strUri;

Вот .htaccess:
AddType image/x-icon .ico
php_value register_globals 0
php_value display_errors 1

RewriteEngine on
Options +FollowSymlinks
Options -Indexes

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R,L,QSA]

<FilesMatch "(config.php)">
Deny from all
</FilesMatch>

RewriteRule (compiled|core|templates|logs|data|modules|cron)/ - [F]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ index.php?request=$1 [L]

ErrorDocument 403 http://shumkov/
ErrorDocument 404 http://shumkov/ru/not_found/

IE пишет за одну перегрузку страницы одну еденицу, а firefox две (тоесть получается, что за одну перегрузку страницы он два раза обрабатывает код).
Ant:
Ivan Shumkov, поставьте проксомитрон (proxomitron) и посмотрите, какие запросы идут на сервер.
Иван Шумков:
Ant
Спасибо, разобрался. Была ошибка в коде в javascript и
ErrorDocument 404 http://shumkov/ru/not_found/

Эта тема на forum.dklab.ru