當我在url重寫後設置並獲取cookie時,我遇到了一個奇怪的錯誤。這是我使用重寫規則:
RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)$ /$1/$2/ [R]
RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)/$ /index.php?destination=$1&command=$2
這是我做的打印餅乾:
var_dump($_COOKIE);
我也有一個登入,設置適當的餅乾,其到期註銷曲奇餅乾。
登錄:setcookie("USERNAME", "usernamestring", time()+3600);
註銷:setcookie("USERNAME", "0", time()-3600);
當我訪問www.remoteaccessnow.com,餅乾很空。 當我訪問www.remoteaccessnow.com/accounts/時,Cookie不爲空。
這是在同一會話期間完成的。該錯誤發生在Chrome 9,Firefox 3 +和IE8中。
如果我根本不使用重寫規則,那麼沒有任何問題,Cookie在整個「子網址」中都是一致的。我不知道是什麼導致了這個問題。看起來www.remoteaccessnow.com和www.remoteaccessnow.com/accounts/被「cookie處理器」視爲兩個不同的域名。
我在尋找關於如何保持cookie與我的域的所有子URL一致的建議。