关于htaccess的另一个问题
此规则:
RewriteRule ^page(.*)/(.*)$ mainpage.php?var1=$1&var2=$2
根本无法正常工作。当我访问/page/var=something&var2=something
时,我得到了一个 var1 的空值和一个 var2 的值。
RewriteRule ^page(.*)/(.*)$ mainpage.php?var=$1&var=$2
它的作用说明:当你去/page/var=something&var2=something
时,apache 会替换为你得到的 RegExp,并让它像这样:mainpage.php?var=&var=var%3Dsomething%26var2%3Dsomething
。因此,var 将是一个空字符串(长度为零)。顺便说一下,您的查询字符串中有两个var
!
编辑:请注意,在上面的示例中(/page/var=something&var2=something
),$1
将是/page
和/var
之间的任何内容,并且由于不存在任何内容,因此您将有一个空字符串!
编辑 2:
RewriteRule /?page/var=([^&]*)&var2=([^&]*) mainpage.php?var1=$1&var2=$2