我正在尋找一個PHP函數,它接受一個相對URL並返回它是否是這個URL。如何檢查相對URL是否是PHP中的當前URL?
<?PHP
function isCurrentPage($page)
{
//Magic
}
?>
這將被傳遞的值,如"/"
,"/foo/bar"
,page.php
,甚至"foo/page.php?parameter=value"
。
我的第一次嘗試涉及使用$page == $_SERVER["REQUEST_URI"]
,但這說"/foo/bar" != "/foo/bar/"
。這並不是什麼大問題,但是它帶來的困難是"/foo/bar" != "/foo/bar/index.php?parameter=value"
。爲了我的目的,我需要說這些是相同的。
如何判斷當前URL是否傳遞給此函數,並且給定的限制?我寧願選擇一個簡單,強大的解決方案,保證在未來5年內工作,因爲這是一個長期的高利用項目。舊的,不推薦使用的函數和正則表達式是可取的。
isCurrentPage("http://example.com/foo/bar")
isCurrentPage("http://example.com/foo/bar/")
isCurrentPage("http://example.com/foo/bar/index.php")
isCurrentPage("http://example.com/foo/bar/index.phps")
isCurrentPage("http://example.com/foo/bar/index.phtml")
- :
爲題要,該方法必須在URL
http://example.com/foo/bar
時返回 isCurrentPage("/foo/bar/")
isCurrentPage("/foo/bar/index.php")
isCurrentPage("/foo/bar?parameter=value")
isCurrentPage("/foo/bar/?parameter=value")
isCurrentPage("/foo/bar/index.php?parameter=value")
isCurrentPage("/foo/bar/index.php#id")
isCurrentPage("#id")
isCurrentPage("index.php")
isCurrentPage("index.php?parameter=value")
等等。
這問題沒有顯示任何研究工作。 **做你的作業很重要**。告訴我們你發現了什麼,***爲什麼它不符合你的需求。這表明你已經花時間去嘗試幫助你自己了,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案。 [FAQ](http://stackoverflow.com/questions/how-to-ask)。 – 2013-04-29 14:31:27
什麼是別名,例如apache'別名/ baz/foo/bar'? – 2013-04-29 14:32:15
@MarcB這不是目前的問題,但我很樂意看到一個解決方案,如果你有一個! – Supuhstar 2013-04-29 14:43:52