我想将第一个目录作为变量传递,将子目录作为另一个变量传递。
对于同时具有两个目录(/ something / something2)的url来说,它可以工作,但是当我尝试仅使用一个目录(/ something)时,出现错误404。
RewriteRule ([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA]
如果类别2不可用,如何仅传递类别1?
最佳答案
几种解决方案:
多个规则(易于理解,但速度较慢):
RewriteRule ^([^/]+) /posts/?category2=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA]
单一规则:
RewriteRule ^([^/]+)(/([^/]+))? /posts/?category2=$1&category2=$3 [L,QSA]
URL(/ something2)的第二部分是可选的。请注意-$ 2更改为$ 3。
关于apache - htaccess重写传递两个变量,还是一个取决于两个变量是否可用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9869006/