簡體   English   中英

PHP,URL重寫,如果URL中沒有“?”,如何從GET獲取字符串?

[英]php, url rewrite, how can I get a string from GET if the url doesn't have “?”?

我想建立一個php網站,我想刪除所有使url看起來動態的字符串。 但是我仍然需要通過GET獲取信息,所以基本上我不知道該怎么做,因為我需要將參數傳遞給$ _GET請求,這顯然是動態的。 例如,我可能有www.domain.com/mobile_phones,其中mobile_phones是我應該獲取的參數/信息。 任何幫助將受到高度贊賞

您可以通過稱為“路由”的過程來做到這一點。 通常,您設置重寫規則以將所有內容轉發到單個入口點index.php然后index.php初始化您的應用程序,從而利用某種路由類。 該路由類將REQUEST_URI與已知模式列表進行比較。 當它與我的模式匹配時,它需要解析出URI所有變量。

另一方面,要在應用程序中生成正確的URL,通常會有許多幫助程序,這些幫助程序采用一系列參數以及控制器/操作並根據相同的路由規則生成URL。

看一下Zend框架中的Zend_Controller包,這是一個很好的例子。

URL重寫通過將接收到的URL字符串轉換為更合適的格式(包括get參數)來進行。 例如

RewriteEngine On
RewriteRule ^([0-9])/.*$ index.php?id=$1

這會將例如example.com/1234/my-page的字符串轉換為example.com/ index.php?id=1234並且可以直接從$_GET數組訪問id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM