Php 使用.htaccess重写规则解释多个$\u GET变量

Php 使用.htaccess重写规则解释多个$\u GET变量,php,regex,.htaccess,url,Php,Regex,.htaccess,Url,可能重复: 好几天来我一直在为这个挠头。。。我有一个例子,URL需要在$\u GET字符串上传递不同的变量 我希望解析以下URL: http://www.domain.com/1/count/?var1=a&var2=b 基本上,我需要将count解析为$\u GET['var3']变量以及附加在尾部斜杠之后的其他变量(?var1=a&var2=b) 我尝试了以下方法以及许多其他选项,但结果是404: RewriteRule ^1/(count|list|detail)$/$ /1/

可能重复:

好几天来我一直在为这个挠头。。。我有一个例子,URL需要在
$\u GET
字符串上传递不同的变量

我希望解析以下URL:

http://www.domain.com/1/count/?var1=a&var2=b
基本上,我需要将
count
解析为
$\u 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?
我已经搜索了很多文档和答案,但我找不到一个合适的答案并承认,这让我慢慢发疯


我们将欣然接受并感谢您的帮助。

您想使用[QSA],查询字符串Append。读一读。如果这是您希望在浏览器中看到的内容:

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
您要使用[QSA],查询字符串追加。读一读。如果这是您希望在浏览器中看到的内容:

RewriteRule ^/?1/(count|list|detail)/?$ /1/service.php?method=$1 [QSA]
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

您是要求
[QSA]
还是有不同的URL方案匹配?为什么在正则表达式中有两个
$
结束标记?只有一个URL模式,我有两个$,据我所知,每个都可以标记为解释不同的变量($1,$2-如果两者都列出)。在替换部分,是的。但前提是你有两个比赛小组。“这和正则表达式中的意思不同。”马里奥明白了。了解多个匹配组,只是未能理解[QSA]选项。谢谢。您是在要求
[QSA]
还是要匹配不同的URL方案?为什么在正则表达式中有两个
$
结束标记?只有一个URL模式,我有两个$,据我所知,每个都可以标记为解释不同的变量($1,$2-如果两者都列出)。在替换部分,是的。但前提是你有两个比赛小组。“这和正则表达式中的意思不同。”马里奥明白了。了解多个匹配组,只是未能理解[QSA]选项。谢谢,不用了1'只映射到service.php所在的目录/1/。但是,在您的示例中,除了“t”之外,这个列表/使用“count”作为$\u GET变量吗?+1,因为您帮助我找到了我想要的答案。谢谢,不用了1'只映射到service.php所在的目录/1/。但是,在您的示例中,除了“t”之外,这个列表/使用“count”作为$\u GET变量吗?+1,因为您帮助我找到了我想要的答案。谢谢
RewriteRule ^/?1/(count|list|detail)/?$ /1/service.php?method=$1 [QSA]