【发布时间】:2011-04-09 08:12:48
【问题描述】:
我在更改 WordPress 中的默认永久链接时遇到了一个奇怪问题。
当我将此代码放在我的主题的functions.php文件中(甚至在WordPress的根index.php文件中)并在几个页面之间导航和更新(例如/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>
我很好奇为什么会发生这种情况,并且非常感谢能够帮助我解决问题的人。
【问题讨论】:
标签: php wordpress firefox session mod-rewrite