我想将第一个目录作为变量传递,子目录作为另一个变量传递。
对于包含两个目录的网址(/ something / something2)时,它会起作用,但当我尝试只使用一个(/某些东西)时,我会收到错误404.
RewriteRule ([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA]
当category2不可用时,如何才传递category1?
答案 0 :(得分:2)
几个解决方案:
多个规则(更容易理解但速度稍慢):
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.
答案 1 :(得分:0)
也许试试这个:
RewriteRule ([^/]+)(/([^/]+))? /posts/?category2=$1&category2=$3 [L,QSA]