PHP通配符页面处理程序

时间:2010-12-13 10:55:47

标签: php url

在使用tomcat的JSP中,我可以指定一个目录来转到servlet处理程序并使用filename作为参数。 我有什么方法可以在PHP中做到这一点。

在这种情况下,我的目的是有一个商店,所以所有产品都是

形式
shop_view.php?cat=3 
shop_detail.php?id=432

虽然这些工作正在进行,但我并不想完全删除它们,但在向人们提供产品链接以提供链接(例如

)时会很不错
products/bottle_brush
categories/accessories

我可以轻松地从数据库中查找。如果我能抓住目录产品/ *和类别/ *

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

首先需要将产品和类别slugs与产品一起存储在数据库中,并确保它们是唯一的(如果需要)。

然后你需要实现请求shop_detail.php?slug = bottle_brush和shop_view.php?cat = accessories

最后,如果你正在使用Apache并且mod-rewrite模块被激活,你可以使用.htaccess文件来重写你的URL(没有测试它,参考mod_rewrite文档和.htaccess教程):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^products\/(.+)$ [NC]
RewriteRule ^(.*)$ shop_detail.php?slug=$1 [R,L]