我想传递的第一个目录作为一个变量和子目录另一个变量。
I want to pass first directory as a variable and subdirectory as another variable.
它的工作原理时,与这两个目录的URL(/事/ something2),但我得到一个错误404当我尝试只有一个(/某事)。
It works when for urls with both directories (/something/something2) but I get an error 404 when I try with only one (/something).
RewriteRule ([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA]
我
如何传递只有类别1类别2时不可用?
How can I pass only category1 when category2 isn't available?
几个解决方案:
多个规则(比较容易理解,但有点慢):
Multiple rules (easier to understand but a bit slower):
RewriteRule ^([^/]+) /posts/?category2=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA]
单一的规则:
Single rule:
RewriteRule ^([^/]+)(/([^/]+))? /posts/?category2=$1&category2=$3 [L,QSA]
下面的URL(/ something2)的第二部分是可选的。请注意 - $ 2改成$ 3
Here the second part of URL (/something2) is optional. Please note -- $2 was changed to $3.