我本想用戶訪問www.domain.com/item/ABC123如何利用PHP輸入參數從URL像這樣www.domain.com/item/ABC123
正如你可以在這裏看到ABC123應輸入參數
這樣www.domain.com/item/?Id=ABC123
在/項目/有一個index.php文件,這將需要一個ID輸入參數,我該怎麼辦將輸入參數值從www.domain.com/item/ABC123傳遞給index.php文件的id輸入參數?
我本想用戶訪問www.domain.com/item/ABC123如何利用PHP輸入參數從URL像這樣www.domain.com/item/ABC123
正如你可以在這裏看到ABC123應輸入參數
這樣www.domain.com/item/?Id=ABC123
在/項目/有一個index.php文件,這將需要一個ID輸入參數,我該怎麼辦將輸入參數值從www.domain.com/item/ABC123傳遞給index.php文件的id輸入參數?
use mod_rewrite
你需要URL重寫。 Basicaly,你將有一個.htaccess的重寫規則,它將轉換你的URL。 例如,www.domain.com/item/some/things/ABC123
分成www.domain.com/item/index.php?queryString=some/things/ABC123
,你的PHP將完成剩下的工作。
類似的東西,以這應該工作:
htaccess的
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
的index.php
$uri = preg_replace("#(/+)#","/",$_SERVER["REQUEST_URI"]);
$uri = array_shift(explode("/",$uri));
現在,$uri
是URI的每個部分的陣列。因此/ A/B/C變爲:
array(
0 => "a",
1 => "b",
2 => "c",
)
的
注意,這是一個通用的解決方案,包含未經測試的代碼,以便在PHP應用程序中實現快速和無痛的uri路由。 – Navarr 2012-04-02 03:35:46
可能重複(http://stackoverflow.com/questions/122097/apache-mod-rewrite-primers)和大概100 [阿帕奇MOD-重寫引物?]更多的mod_rewrite線程。 – j08691 2012-04-02 03:30:32
可能的重複[如何使用mod_rewrite更改URL的路徑和文件名](http://stackoverflow.com/questions/105308/how-do-i-use-mod-rewrite-to-change-the -path-and-filename-of-a-url) – outis 2012-04-02 03:35:51