Задать вопрос
@Zezst
программист PHP

Непонятный глюк в Chrome

Здравствуйте. Помогите решить проблемку. Есть два сайта настроенные по моей статье – test.dev и test0.dev. В корне сайтов лежат одинаковые .htaccess:

AddDefaultCharSet utf8
php_flag display_errors on
php_flag display_startup_errors on
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.php
Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L]

И одинаковые index.php:
<?php
session_start();
if(!isset($_SESSION['count'])) {
	$_SESSION['count'] = 0;
        $_SESSION['count1'] = '0';
}
++$_SESSION['count'];
$_SESSION['count1'] = $_SESSION['count1'] . '/' . $_SESSION['count'];
echo $_SESSION['count'] . "<br>";
echo $_SESSION['count1'] . "<br>";
exit;

В firefox и IE все выполняется отлично, а в браузерах на webkit (chrome и opera) счетчик увеличивается на 2. Причем в test.dev считается как положенно (1, 2, 3, 4, 5 …), а в test0.dev скачет на 2 (1, 3, 5, 7, 9 …). Словно в chrome дважды нажали F5.
Экспериментальным путем выяснил, что комментирование этой строчки
RewriteRule ^(.*)$ index.php?route=$1 [L]
приводит к нормальному отсчету. Причем такое поведение только на одном сайте.
Есть у кого идеи почему так происходит?

Прикол в том, что на одном сайте этот код работает, на втором работает неправильно. И только в случае webkit. Если честно у меня уже взрыв мозга. Оба сайта запускаю на одной машине, в одном браузере (в разных вкладках). Подумалось, может RewriteRule неправильно написан.
  • Вопрос задан
  • 4252 просмотра
Подписаться 4 Оценить 2 комментария
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ну, почему так происходит — как раз ничего удивительного, если точка входа настраивается как обработчик 404.
А почему на втором… Ну, видимо, там не забыли favicon положить.

Hint: вкладка «Network» должна открываться при «двойных запросах» в первую очередь.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
hell0w0rd
@hell0w0rd
Просто разработчик
Chrome вне зависимости от наличия информации в теле страницы о фавиконке пытается ее запросить. А вообще чтобы такие вопросы возникали реже — сразу включайте логирование, вам тут же будет все ясно
Ответ написан
Комментировать
@noonesshadow
HEAD запрос наверное
нужно мониторить сеть и смотреть
Ответ написан
Комментировать
reaferon
@reaferon
У меня было очень похожое, долго не мог понять в чем причина.
Выяснил: в Хроме какое-то SEO-расширение (не помню название) самостоятельно дергало каждую запрашиваемую страницу. Ну и счетчик, соответственно, тоже удваивался.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы