Regex htaccess问题重写页(带参数)
我有两个URL,一个带有类别,一个带有产品ID 类别URLRegex htaccess问题重写页(带参数),regex,.htaccess,mod-rewrite,Regex,.htaccess,Mod Rewrite,我有两个URL,一个带有类别,一个带有产品ID 类别URL 附件/一类/第二类/第三类/第四类 产品URL 附件/1234/此处为产品名称 当我尝试打开产品url时,它会转到类别 #Accessories page RewriteRule ^accessories/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/? accessories.php?cat1=$1&cat2=$2&cat3=$3&cat4=$4 [L,QSA]
附件/一类/第二类/第三类/第四类
产品URL
附件/1234/此处为产品名称
当我尝试打开产品url时,它会转到类别
#Accessories page
RewriteRule ^accessories/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/? accessories.php?cat1=$1&cat2=$2&cat3=$3&cat4=$4 [L,QSA]
RewriteRule ^accessories/([0-9]+)/[a-z-]+/?$ accessories.product.php?productId=$1 [L,QSA]
编辑:
我改变了重写规则,打印出GET变量,现在我得到了这个
Array
(
[cat1] =>
[cat2] =>
[cat3] =>
[cat4] =>
[productId] => 24015
)
停留在类别页面您只需要反转规则,因为第一个规则与您的产品url相匹配(由于您的可选参数,它与附件相匹配) 现在应该是这样
RewriteRule ^accessories/([0-9]+)/[a-z-]+/?$ accessories.product.php?productId=$1 [L,QSA]
RewriteRule ^accessories/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/?([a-z-]+)?/?$ accessories.php?cat1=$1&cat2=$2&cat3=$3&cat4=$4 [L,QSA]
您试图访问的url是什么?附件/1234/此处的产品名称我指的是您的
真实的url(我猜您没有尝试使用此处的产品名称
),我在您的代码中发现了一个错误。您可以使用我编辑的答案重试