【发布时间】:2011-06-10 13:59:39
【问题描述】:
我的环境是 Apache,DB 是 mySQL,语言是 PHP。
我需要创建一个中间层来拦截请求并检查诸如"http://www.something.com/apple/ipad-2-cases/" 之类的url,然后查找数据库,apple 和ipad-2-cases 都有一个计数器,如下所示:
产品表
- p_id --> 1
- p_name --> “iPad”
- p_custom_url --> “ipad-2-cases”
品牌表
- b_id --> 2
- b_name --> “苹果”
- b_custom_url --> “苹果”
并将网址转换为"http://www.something.com/products.php?b_id=2&p_id=1",我可以从中获取b_id 和p_id 以显示适当的产品信息。
它基本上看起来很像Joomla 中实现的方式。您可以通过键入额外字段来定义自己的用户友好 url,否则无论如何它都会实现默认设置。
由于我是 PHP 新手,我不太清楚如何完成此操作。在 asp.net 中,我一直在使用 URL-Writer 库,它使用 HttpHandlers 和 HttpModules 来拦截当前请求并进行适当的替换。
是否有任何图书馆或其他东西可以帮助我解决这个问题?还是我需要使用.htaccess(我知道我需要在.htaccess上打开mod_urlwrite)
非常感谢。
【问题讨论】:
-
RewriteMap可能是您的朋友 - 参见例如这个:stackoverflow.com/questions/5717796/…
标签: php url-rewriting