2016-12-14 56 views
0

請求路徑:http:// 本地主機/ 1/2 /#實施例/

print_r($_SERVER['REQUEST_URI']); 

預期:/1/2 /實施例#/

實際:/ 1/2/

使用urldecode沒有任何影響,因爲PHP是創建陣列開始。是的,這不是一個正統的目錄名稱,但有沒有另一種方式來確定在PHP中請求的URI?

+0

如果這是一個名爲'#Example'的實際文件夾,那麼你需要在鏈接到這個頁面的時候對這個散列進行urlencode編碼,這樣url就變成'/ 1/2 /%23 Example /'。 URL哈希(#whatever)永遠不會發送到PHP。它在JavaScript中可用於客戶端。 –

+0

請參閱https://tools.ietf.org/html/rfc3986#section-3.5「...片段標識符未用於處理URI的特定方案 中;相反,在取消引用之前,片段標識符與URI的其餘部分分開 ,因此片段本身內的標識信息僅由用戶代理程序取消引用 ,而不考慮URI方案。「它永遠不會發送到服務器 – Reeno

回答

0

#帕爾馬不發送到服務器!

+0

請您詳細說明一下嗎? – John

+1

啊,對......我忘記了...... PHP忽略它。我完全忘記了這一點。 – John

+0

@John爲了記錄,PHP不會「忽略它」。它被瀏覽器刪除,甚至從未被髮送到PHP。 –