2014-03-07 72 views
-1

我使用的URL等國防部重寫 - PHP

www.example.com/viewpost.php?TITLE=mp3playerforsale & ID = 123

我在哪裏傳遞ID參數和名稱,然後在PHP中顯示來自sql的記錄。

我可以在以後能夠在.htaccess使用MOD重寫功能,並能動態搜索引擎友好的URL轉換像

www.example.com/mp3playerforsale-123
www.example.com/carforsale -124

其中123獲取存儲在sql數據庫中的相應記錄,例如

ID Title 
123 mp3playerforsale 
124 carforsale 

現在我有要求我有兩個ID和標題作爲參數的頁面。但兩者都必須在兩個不同的頁面中顯示。

實施例:

mp3players應該去頁viewpost.php ID = 123輛
汽車應該去頁viewpost2.php ID = 123

當我試圖既顯示在? viewpost.php我需要在不同的頁面顯示汽車類別。

我已經使用這個

RewriteEngine On 
RewriteRule ([-A-Za-z0-9]+)-([0-9]+)/? viewpost.php?TITLE=$1&ID=$2 [NC] 

任何幫助表示讚賞!

+0

爲什麼他們有相同的ID? ID(整體而言)的全部要點是它們是唯一的... – Steven

+0

是ID參數是唯一的,並且數據存儲在同一個表中。 – user3391693

+0

所以'汽車應該去頁面viewpost2.php?ID = 123'一個錯字?它應該是'ID = 124'嗎? – Steven

回答

0

您可能會將兩種情況都重定向到單個頁面,在這個頁面中將決定使用哪個模板的php代碼。

+0

這可能是一個很好的建議,如果兩頁之間的內容有點變化,但我有兩個完全不同的頁面,每頁之間有一些獨特的差異,唯一的關係是ID參數。 其他建議? – user3391693

+0

我的意思是你可以通過實現你自己的路由機制(根據MVC)決定基於ID應用於請求的控制器和視圖。我認爲,這將是最好的解決方案,因爲您不應該在Web服務器配置中實現您的應用程序邏輯。 – max

0

我不知道我理解你的問題,我希望這會幫助你

RewriteEngine On 
RewriteRule mp3players-([0-9]+)/? viewpost.php?TITLE=mp3players&ID=$1 [NC] 
RewriteRule cars-([0-9]+)/? viewpost2.php?TITLE=cars&ID=$1 [NC] 

或那樣嗎?

RewriteEngine On 
RewriteRule mp3players/([-A-Za-z0-9]+)-([0-9]+)/? viewpost.php?TITLE=$1&ID=$2 [NC] 
RewriteRule cars/([-A-Za-z0-9]+)-([0-9]+)/? viewpost2.php?TITLE=$1&ID=$2 [NC] 
在此您的聯繫

必須有一個mp3players或汽車前綴

www.example.com/mp3players/nameofproduct-123

www.example.com/cars/nameofproduct-124