1

我无法使用 .htaccess 自定义 url。我在 .htaccess 中应用了所有更改,但这个更改困扰了我很长时间。

我有一个网址:

product.php?act=pro&cat=1&category=Nokia

我想将其更改为:

product/1/Nokia.html

我使用了以下规则:

RewriteRule ^product/?([a-zA-Z_]+)/([a-zA-Z_]+)\.html$ product.php?act=$1&cat=$2&category=$3 [QSA]

但没有得到正确的这一点。

4

3 回答 3

4

您仅捕获 2 个组并使用 $1、$2、$3。

将您的代码更改为:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^product/([^/]+)/([^.]+)\.html$ /product.php?act=pro&cat=$1&category=$2 [QSA,L,NC]
于 2013-05-23T17:49:57.107 回答
1

尝试这个:

RewriteRule ^/product/([0-9]+)/(.*).html$ ^/product.php?act=pro&cat=$1&category=$2 [NC,L]
于 2013-05-23T17:50:54.957 回答
0

匹配 cat 的模式应该有 0-9

于 2013-05-23T17:48:14.317 回答