url 重写 - 替换 PHP 中数据库字段中重写的 url



我的环境是Apache,DB是mySQL,语言是PHP。

我需要的是创建一个中间层来拦截请求并检查 url "http://www.something.com/apple/ipad-2-cases/",然后查找数据库,其中 appleipad-2-cases 都有一个计数器,如下所示:

产品目录

  1. p_id --> 1
  2. p_name --> "iPad">
  3. p_custom_url -->"iPad-2 保护套">

品牌表

  1. b_id --> 2
  2. b_name -->"苹果">
  3. b_custom_url -->"苹果">

并将 URL 转换为 "http://www.something.com/products.php?b_id=2&p_id=1",我可以从中获取b_idp_id以显示适当的产品信息。

它基本上看起来像在Joomla中实现的方式。您可以通过键入额外的字段来定义自己的用户友好 URL,否则它无论如何都会实现默认设置。

由于我是PHP的新手,我不太知道如何做到这一点。asp.net 我一直在使用 URL-Writer 库,它使用 HttpHandlersHttpModules 来拦截当前请求并进行适当的替换。

有没有图书馆或其他东西可以帮助我解决这个问题?还是我需要使用.htaccess(我知道我需要打开.htaccessmod_urlwrite(

多谢。

不要使用

id,而是使用名称。

在 .htaccess 中使用 mod_rewrite 从

http://www.something.com/apple/ipad-2-cases/ 

http://www.something.com/products.php?b=apple&p=ipad-2-cases

并在产品内找到相关 ID.php

编辑
在 .htaccess 中创建如下规则:

RewriteRule ^[^/]+/([A-Za-z_-]+)/([A-Za-z_-]+)$ products.php?b=$1&p=$2 

最新更新