Проблема с сессиями PHP в WordPress с нестандартными постоянными ссылками - PullRequest
0 голосов
/ 07 сентября 2010

Я испытываю странную проблему, возникающую при изменении постоянных ссылок по умолчанию в WordPress.

Когда я помещаю этот код в файл functions.php в моей теме (или дажев корневом файле index.php в WordPress) и при переходе между несколькими страницами (например, странице / about) и их обновлении мой счетчик часто запускается дважды.

Эта проблема воспроизводится на каждом сервере, который я пробовал и на которомлюбая тема или установка WordPress.Еще одна вещь, которая делает мой мозг еще более запутанным, заключается в том, что это происходит не в Safari, Internet Explorer (6, 7 и 8), а только в Firefox .Я использую Firefox 3.6.8 и пробовал его в Mac OS X и Windows XP.

session_start();

$counter = $_SESSION['wp_action_counter'];

if( !isset($counter) ){
$counter = 0;
}

$counter++;

echo $counter;

$_SESSION['wp_action_counter'] = $counter;

Мои правила .htaccess выглядят так

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Мне любопытнопочему это происходит и всегда благодарен тому, кто может помочь мне решить проблему.

Ответы [ 4 ]

0 голосов
/ 08 сентября 2010

Вы можете найти информацию о том, как контролировать вывод в вашем заголовке здесь: http://wpquicktips.wordpress.com/2010/08/30/keep-a-track-of-what-happens-in-your-header-and-footer/

0 голосов
/ 07 сентября 2010

Просто идея ... есть ли поврежденный путь к изображению, сценарию, CSS (или что-то в этом роде), который запускает второй запрос? У меня была эта проблема некоторое время назад, и IE кэшировал получающиеся 404, но FF всегда повторно запрашивал сломанное изображение. Путь к изображению был переписан в мой индексный путь, который вызвал счетчик ...

0 голосов
/ 08 сентября 2010

Я наконец выяснил, в чем проблема.

Когда у меня в заголовке <?php wp_head(); ?>, WordPress добавляет эту строку:

<link rel='next' title='About' href='http://mysite.dev/about/' />

Эта ссылка предварительно выбрана , и по этой причине счетчик работает дважды. Регулировка выхода wp_head(); или удаление его решает проблему.

0 голосов
/ 07 сентября 2010

Если он увеличивается в два раза, эти два запроса отправляются на ваш сервер, проверяют журнал сервера или устанавливают firebug и просматривают вкладку net, таким образом вы можете убедиться, что происходит на самом деле, вместо того, чтобы предположить, что это может быть(ссылка предварительно выбрана , запрашивается изображение, сгенерированное php ..).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...