簡體   English   中英

PHP會話在htaccess重定向條件下消失 - 僅限Chrome

[英]PHP Sessions disappear on htaccess redirect condition - In Chrome only

我的項目依賴於這個問題。

我在我的htaccess中有這個代碼來實現一個扁平的url系統

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) page.php?pid=$1 [QSA]

雖然此代碼存在,但我無法訪問在任何其他頁面上的一個頁面上創建的會話變量。 即使頁面是靜態的.php頁面,沒有經過重定向,會話也會消失。 通常這個代碼會以某種方式阻止會話。

我已設置會話cookie路徑和域以確保領域正確,但它不起作用。

任何幫助都將從心底得到贊賞。

有趣的是它只能在Chrome上失敗。

根據你的評論:

我已設置此附加代碼以確保會話cookie位於正確的路徑和域中。 ini_set('session.cookie_domain','。bostonairporttaxicab.com'); ini_set('session.cookie_path','bostonairporttaxicab.com/';);

我認為你的cookie_path是錯誤的。 它不應包含域名,因為路徑是尾隨域名的部分。 嘗試將其設置為/並查看是否修復了它。 也許Chrome以不同於其他瀏覽器的方式解釋它,因此拒絕您的會話cookie。

如果它不能在Chrome上運行,那就是你的Chrome故障......瀏覽器無法對.htaccessSESSION執行任何操作,因為它們在服務器端運行。 您應該通過Chrome從其他計算機上查看它,如果它正在運行那么這正是您的Chrome故障,我對此有點確定......

你有沒有在每個頁面上開始會話。

你必須寫session_start(); 在php之后的文件頂部的函數

Htaccess文件在會話中不起任何作用,因為您的會話變量存活,直到您的會話處於活動狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM