使用多个GET变量重写规则


.htaccess RewriteRule with multiple GET variables?

我看到了很多类似的问题,但是我无法用他们的答案来解决这个问题。

我试图做一个URL重写转换

http://example.com/myfile.php?var1=42&var2=aString

http://example.com/mydir/42/aString

我尝试了以下RewriteRule(一个接一个):

  • RewriteRule ^mydir/([0-9]+)/(.*)/(.*)$ myfile.php?var1=$1&var2=$2 [NC,L]
  • RewriteRule ^mydir/([0-9]+)/(.+)/(.+)$ myfile.php?var1=$1&var2=$2 [NC,L]
  • RewriteRule ^mydir/([0-9]+)/?$/?$ myfile.php?var1=$1&var2=$2 [NC,L]

我不能让他们工作。我做错了什么?我怎样才能让它发挥作用?

谢谢!

你有3个组,但只有两个参数,尝试使用两个组

RewriteRule ^mydir/([0-9]+)/(.*)$ myfile.php?var1=$1&var2=$2 [NC,L]