2011-01-10 103 views
0

我如何獲取當前頁面的URL減去所有獲取參數(?blah = 2 & blah4 = 90 ...) 我知道我可以得到完整的URL $ _SERVER ['REQUEST_URI']但我想知道是否有更符合我需要的東西。PHP:獲取頁面URL減去參數

或者我應該只是做strpos?和substr劈砍的論據? (我想,一個$ _ SERVER變種會更有效 - 如果存在的話)

感謝

+0

可能想查看php的parse_url。這應該做你想要的。 – 2011-01-10 02:49:39

回答

5

$_SERVER['REQUEST_URL']

有時答案是簡單的:)我發現這裏的解決方案:http://php.net/manual/en/reserved.variables.server.php按CTRL + F'ing爲「查詢」。

編輯

由於matchu在評論中說,並不是所有的服務器都支持REQUEST_URL。在那種情況下,我會使用不太優雅的strtok($url, '?');

+1

事實上,這只是在評論中讓我感到緊張。它可能會按預期工作,但可能不適用於所有環境。 – Matchu 2011-01-10 02:52:44

0

您可以使用parse_url function,然後CONCAT需要的部分(方案,主機,端口,用戶,通過和路徑)

0

你可以像這樣做:

$url=$_SERVER["REQUEST_SCHEME"]."://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]; 
0

你可以利用這一點,是非常簡單的:

$url = explode("?",$_SERVER[REQUEST_URI]); 
$url = "http://$_SERVER[HTTP_HOST]/" . $url[0]; 

隨着爆炸的網址,您將有$url[0]「第一部分」,並在$url[1]所有參數。