2010-09-07 63 views
0

我遇到了奇怪當我更改WordPress中默認永久鏈接時發生的問題。在WordPress中使用非默認永久鏈接的PHP會話問題

當我將這段代碼放入我的主題(或者甚至是WordPress的根index.php文件中)的functions.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> 

我很好奇,爲什麼出現這種情況,是以往任何時候都感謝一個誰可以幫我解決這個問題。

回答

0

我終於找到了什麼是問題。

當我有我的頭<?php wp_head(); ?>,WordPress的添加此行:

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

此鏈接prefetched這就是爲什麼背道而馳兩次的原因。調整wp_head();的輸出或刪除它可以解決問題。

0

如果它增加了兩次,這兩個請求將進入你的服務器,檢查服務器日誌,或者安裝螢火蟲並觀察網絡標籤,這樣你就可以確定真正發生了什麼,而不是假設它可以做什麼是(鏈接是prefetched,正在請求一個php生成的圖像..)。

0

只是一個想法...是否有一個破碎的圖像,腳本,CSS(或類似的)路徑,開始第二個請求?前一段時間我遇到了這個問題,IE瀏覽器緩存了結果404,但FF總是重新請求破壞的圖像。圖像路徑被重寫到我的索引路徑,觸發了一個計數器...

相關問題