0

我一直在尝试几种方法来优化在咨询我的网站的数据库时产生的 url ,更改 .htaccess 在顶部添加一些 php,以及包括两者的其他一些方法,但没有任何反应,周围有很多方法网络,但我感到不走运,并且试图实施任何这些方式都无能为力,我就是无法让它发挥作用。

产品目录在 MySql DB 中以非常流行的方式组织,没有什么革命性或独特性,$_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>
4

1 回答 1

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

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

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

这将适用于部门。

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

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>
于 2013-05-02T23:05:52.823 回答