2016-03-16 44 views

回答

1

哈希字符(#)在URL中有特殊含義。它引入了一個fragment identifier。片段標識符通常用於定位頁面內的某個位置。

瀏覽器處理片段標識符,當瀏覽器向服務器發出HTTP請求時,它將從URL中刪除。

作爲一個特殊字符,如果你想讓它具有它的字面值,你必須對它進行編碼。寫的網址在你的問題的正確方法是:

www.demo.php?tag=c%23 

當它是這樣寫的,$_GET['tag']包含正確的值('c#')。

如果您從PHP代碼此類URL(可能是從諸如數據庫的外部資源獲取的tag值),你必須使用PHP函數urlencode()正確編碼你把網址中的值。或者,甚至更好,創建一個數組的所有URL參數和它們的值,然後將它傳遞給http_build_query()生成的網址:

$params = array(
    'tag' => 'c#', 
    'page' => 2, 
); 
$url = 'http://localhost/demo.php?'.http_build_query($params); 
+0

已經嘗試過這個。它不工作... – Hardik

+0

更加努力。有用。 – axiac

+0

其實我已經改變了我的網址與乾淨的網址htaccess。像http:// localhost/demo/tag/c#/ – Hardik

相關問題