在斜杠之后检索获取变量以及在询问标记之后

时间:2014-11-01 18:04:16

标签: php regex .htaccess

到目前为止,我一直在使用.htaccess正则表达式一小时没有结果。帮助赞赏。

这是我一直在使用的原始正则表达式。这是重复的,但它有效

RewriteRule ^([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*) index.php?g1=$1&g2=$2&g3=$3&g4=$4&g5=$5 [NC,L]

基本上,它将domain.com/url1/url2/url3 ...转换为get vars,传递给index.php。现在,我想在获得这5个变量之后,还可以得到任何附加了?var = something的东西。实施例

http://www.domain.com/user($_GET['g1'])/profile($_GET['g2'])?msg=profileupdated($_GET['msg])

如何将我的正则表达式更新到g1,g2到g5之上,我还可以检索其他自定义获取变量?谢谢。

1 个答案:

答案 0 :(得分:0)

我刚刚为此找到了一个非常简单的解决方案

将QSA附加到这样的正则表达式,它神奇地起作用。

RewriteRule ^([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*) index.php?g1=$1&g2=$2&g3=$3&g4=$4&g5=$5 [QSA,NC,L]

我认为解决方案非常复杂,但QSA可以解决问题。

https://wiki.apache.org/httpd/RewriteFlags/QSA