2010-11-09 57 views
1

我有一個包含5000個項目的MySQL數據庫。該表的結構爲用PHP重寫URL MySQL .htaccess&GET

ID
產品名稱
內容
產品網址

您可以將www.site.com/products/index.php?id訪問特定產品頁= 123。 index.php文件使用PHP獲取ID來搜索MySQL數據庫並返回相應的產品名稱和內容。

我該如何做到這一點,而不是www.site.com/products/index.php?id=123,URL被重寫或重定向到www.site.com/products/product-url?如果我使用.htaccess來完成,index.php文件仍然能夠知道如果ID不在URL中,將使用什麼ID來查找產品url?或者有什麼方法可以使用PHP和MySQL映射URL?

(我是小白,當談到這個東西,所以任何幫助將非常感激。謝謝。)

回答

4

可以使用的.htaccess和重寫規則。以下將重定向一個SEO網址index.php與$_GET['product-url']。您需要修改代碼以查找產品id或直接使用product-url在您的產品表中是唯一的。

RewriteEngine On 
RewriteBase/

# redirect product page from SEO URL 
RewriteRule ^products/([\w\d-_]+)/?$ products/index.php?product-url=$1 [L] 

注:我做了product_url只允許字母,數字,破折號和底線。我建議這樣的限制。另外,斜線是可選的。此外,這不會重新使用查詢字符串。如果您需要,可以將QSA標誌添加到RewriteRule。

+0

我在產品網址中添加了關於句點的評論,但我剛剛刪除了.php擴展名,現在它就像一個魅力!非常感謝。 – user502543 2010-11-10 00:29:10

+0

我沒有看到您的評論。你想在產品網址的時期?我會建議反對這一點。 – 2010-11-10 01:17:26