用PHP优化URL

时间:2013-05-02 16:48:56

标签: url-rewriting

我一直在尝试几种方法来优化我的site的数据库时查询的结果,更改.htaccess在顶部添加一些php,以及其他包含两者的方式,但没有任何反应网络上有很多种方式,但是我感觉很不顺利,并且试图实施任何一种方式都无能为力,我只是无法使其发挥作用。

产品目录在MySql数据库中以非常流行的方式组织,没有任何革命性或独特的$ _GET方法,所有这些,您获得了用户点击的部门,类别或产品。你能帮我个忙吗?它对于高级开发人员来说是基本的,但显然我不是一个。提前感谢您的时间!

这里的.htaccess代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule testpage\.html http://www.google.com [R]
RewriteRule ^catalog/(\d+) catalogo.php?cat=$1 [L,NC]
RewriteRule ^department/(\d+) catalogo.php?dpto=$1 [L,NC]
RewriteRule ^producto/(\d+) producto.php?id=$1 [L,NC]
</IfModule>

1 个答案:

答案 0 :(得分:0)

RewriteEngine On  
RewriteRule ^catalog/(\d+) catalog.php?cat=$1 [L,NC]

这是匹配类别(\ d +)的基本正则表达式 - 任何数字 - 并将其映射到category.php?cat = then $ 1表示插入第一个括号(6)中的数字。

RewriteRule ^department/(\d+) catalog.php?dpt=$1 [L,NC]

这对部门有用。

如果您决定更具体,可以在网址中放置任何您喜欢的内容 -

RewriteRule ^catalog/department/(\d+) catalog.php?dpt=$1 [L,NC]
RewriteRule ^catalog/category/(\d+) catalog.php?cat=$1 [L,NC]

请记住,RewriteEngine On必须在.htaccess中才能设置任何规则。

通常,整个事情都包含在条件中,如下所示:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^catalog/department/(\d+) catalog.php?dpt=$1 [L,NC]
    RewriteRule ^catalog/category/(\d+) catalog.php?cat=$1 [L,NC]
</IfModule>