.htaccess 无法执行此重写规则

j8yoct9x  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(144)

所以我到处都找过了,但我似乎不能让它工作。
我有:

  • 域/页X
  • 域/页Y
  • 域/页面Z等

但如果我有域/代码/页面,我需要它是域/页面?代码,如果我有域/代码/页面?p1&p2,我需要它是域/页面?p1&p2&CODE
CODE是2个字符的字符串,可以是aa、bb或cc
一直在尝试的东西像:

RewriteRule ^aa/(.*?)$ $1&aa [NC,L,QSA]
RewriteRule ^aa/(.*)$ $1?aa [NC,L,QSA]

所以我真的在这个主题上迷失了方向,浪费了很多时间都没有成功,请你开导我

piv4azn7

piv4azn71#

我一直在尝试这两种方法,比如在有参数和没有额外参数时进行思考

RewriteRule ^aa/(.*?)$ $1&aa [NC,L,QSA]
RewriteRule ^aa/(.*)$ $1?aa [NC,L,QSA]

但是我删除了第一个,它实际上只与第二个工作。额外的参数是自动传递的,所以我只是得到添加的aa,bb或cc作为另一个参数。只需要为每个参数声明一个规则

RewriteRule ^aa/(.*)$ $1?aa [NC,L,QSA]
RewriteRule ^bb/(.*)$ $1?bb [NC,L,QSA]
RewriteRule ^cc/(.*)$ $1?cc [NC,L,QSA]

此外,如果只调用aa而没有任何额外的调用,我为每个都添加了以下规则:

RewriteRule ^aa(.*)$ index?aa [NC,L,QSA]

因此,它重定向到索引页,并传递params + aa,浏览到aa/将通过第一条规则。
留下我的答案,如果有人遇到同样的情况:D

相关问题