2017-10-17 66 views
0

時返回號碼,而不是$ _GET值我在第一頁下面的​​代碼:

$_SESSION['redirect_address'] = $_SERVER['REQUEST_URI']; 

,當我在接下來的頁面中調用$_SESSION['redirect_address']它給了我是這樣的:

/host/example.php?1508270070 

,而它必須給我成才,如:

/host/example.php?url=XYZ 

當我檢驗T他在第一頁的末尾代碼處給出了正確的值$_SESSION['redirect_address'],同時在第二頁的代碼的最開始處檢查相同的$_SESSION['redirect_address']它返回數字,試圖清除沒有運氣的餅乾。

花了這4個小時在網上,沒有人能回答我的問題,請幫忙!

+1

您是否重寫URL(Apache/nginx)? – kerbholz

+0

我使用的服務器是Apatche,這些網址是用於動態頁面的,我使用這種技術讓用戶進入登錄頁面,然後在登錄後讓他們回到他們點擊的原始動態頁面 – Mostafa

+0

方式我有另一個頁面使用相同的方法,當它進入登錄頁面沒有問題發生時,雖然我是完全相同的代碼,以精確地調用url和相同的代碼來調用它。 – Mostafa

回答

0

你的NGINX正在做的事情,它可能不應該

...但是這就是它是目前配置爲執行

  1. RFC3986,完整路徑和「查詢字符串「應該包含在URI中。
  2. 根據PHP $_SERVER文檔,$_SERVER('REQUEST_URI')不需要必須包含查詢字符串。各種服務器配置和php版本對於存儲在此變量中的數據(如果有)存在非常不同的結果。

根據您現有的環境配置請檢查您的環境

,你應該檢查什麼樣的價值觀,你實際上得到以下服務器變量:QUERY_STRINGORIG_PATH_INFOPATH_INFOPATH_TRANSLATEDSCRIPT_NAMEREQUEST_URI,並PHP_SELF

相應地調整您的會話重定向。

+0

非常感謝您的信息。 – Mostafa

+0

非常感謝這些信息,有兩個不同的頁面,我使用的是點擊策略讓谷歌機器人爲動態網頁編制索引,但是當用戶點擊任何鏈接時,網站應該保存頁面,指導用戶登錄頁面,然後將他/她發回到首先被點擊的頁面,現在第一頁完全正常工作,$ _SESSION保持正確的URL,而另一頁(保存URL以相同的方式)將存儲的鏈接返回爲在問題中描述,因此服務器的配置沒有問題,因爲其他頁面正常工作。 – Mostafa

+0

@莫斯塔法,你能更具體地說明你的意思是「其他網頁」嗎? –