![](/img/trans.png)
[英]htaccess rewrite url GET parameter that doesn't have a index.php file name
[英]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.