我想将第一个目录作为变量传递,将子目录作为另一个变量传递。
它适用于具有两个目录 (/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/