我无法使用.htaccess自定义网址。我在.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]
但是没有让这个正确。
答案 0 :(得分: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]
答案 1 :(得分:1)
试试这个:
RewriteRule ^/product/([0-9]+)/(.*).html$ ^/product.php?act=pro&cat=$1&category=$2 [NC,L]
答案 2 :(得分:0)
匹配cat的模式应该包含0-9