Здравствуйте. Помогите решить проблемку. Есть два сайта настроенные по
моей статье – 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 неправильно написан.