使用.htaccess RewriteRule来解释多个$ _GET变量

时间:2012-10-19 22:48:06

标签: php regex .htaccess url

  

可能重复:
  Mod Rewrite and Using PHP’s GET for URL’s When not Following the Rules

我一直在为此烦恼......我有一个URL需要在$_GET字符串上传递不同变量的实例。

我想解析以下网址:

http://www.domain.com/1/count/?var1=a&var2=b

基本上,我需要将 count 解析为$_GET['var3']变量以及在尾部斜杠后添加的其他附加变量( ?var1=a&var2=b )。

我尝试了以下许多其他选项,但结果是404:

RewriteRule ^1/(count|list|detail)$/$ /1/service.php?method=$1
RewriteRule ^1/(count|list|detail)$/$ /1/service.php?method=$1&$2?

我已经搜索了许多文档和答案,但我找不到合适的答案并承认,这让我慢慢疯了!

任何帮助都会得到慷慨的接受和赞赏。

2 个答案:

答案 0 :(得分:3)

你想使用[QSA],查询字符串追加。阅读它here。如果这是您想要的浏览器:

http://www.domain.com/1/count/?var1=a&var2=b

你应该把它放在你的htaccess文件中

RewriteRule ^(count|list|detail)/$ /service.php [QSA]

我从上面的规则中删除了一些内容,不知道你的系统,我不确定它们的用途。什么是1和重复的$

此规则会将domain.com/count/?t=5发送至domain.com/service.php?t=5

答案 1 :(得分:1)

RewriteRule ^/?1/(count|list|detail)/?$ /1/service.php?method=$1 [QSA]