.htaccess mod_rewrite在url中有多个变量

时间:2012-08-31 14:18:58

标签: .htaccess mod-rewrite

我正在使用为MySQL创建查询字符串并显示结果的搜索。问题是每次搜索时查询的变量长度都不相同。

我想知道在.htaccess中是否可以根据我投入的变量来制作一个mod_rewrite。

而不是在URL

results.php?var1=something&var2=something&var3=.....

我明白了

results/var1/something/var2/something/var3/something...

但请记住,变量的数量可能会根据用户在搜索表单上检查的复选框而变化。

我希望很明显,如果不是,我会尝试添加更多示例。

1 个答案:

答案 0 :(得分:1)

在文档根目录中的htaccess文件中尝试此操作:

RewriteEngine on
RewriteRule ^results/([^/]+)/([^/]+)(.*)$ /results/$3?$1=$2 [L,QSA]
RewriteRule ^results/$ /results.php [L,QSA,R]

只要URI中有/var/something个对,第一个规则就会循环,并继续将它们附加到查询字符串中。当最后没有剩下的对时,results/会被重写为results.php