2011-03-16 83 views
1

可以說我有一個文件一樣的index.php需要處理這樣的URL:htaccess的mod_rewrite的 - 初學者質疑

index.php?cat=1&sub=2&id=3 

現在我想爲那該多好網址,這將是這樣的:

index.php/cars/bmw/x3 

我的問題是,如果單詞'cars'是與'cat/category'id相關聯的數據庫中的名稱,當我去index.php/cars時,url如何訪問數據庫,找到'汽車',抓住相應的ID爲'1',並將其映射到網址?

這個網站是在PHP/MySQL的

回答

1

在這裏面的代碼的您的Web服務器的DocumentRoot地方.htaccess文件:

RewriteEngine On 
RewriteRule ^index.php/cars/(.+)$ /index.php?carName=$1 [QSA,L,NC] 

,將調用你的index.php與後無堅不摧/汽車/與查詢參數carName的URL。

然後在你的index.php裏面寫一個MySQL查詢來查詢數據庫,如下所示:select * from cars_table where name = $ _ REQUEST [「carName」];並且您將能夠檢索匹配的汽車記錄。

但是正如前面一樣的謹慎SQL受到SQL注入攻擊,因此最好使用準備SQL語句或Mysqli exetnsion of php查詢數據庫,而不是直接把HTTP請求值。