2010-11-09 58 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