我想将第一个目录作为变量传递,将子目录作为另一个变量传递。

对于同时具有两个目录(/ 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/

10-10 15:14