【问题标题】:Retrieving get vars after slashes along with after interrogation mark在斜杠和询问标记之后检索获取变量
【发布时间】:2014-11-01 18:04:16
【问题描述】:

我已经使用 .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... 转换为传递给 index.php 的 get vars。现在,我想在获得这 5 个变量的基础上,还获得任何附加了 ?var=something 的东西。示例

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

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

【问题讨论】:

  • 也许将所有内容发送到index.php 并让它处理路径和查询等更容易。

标签: php regex .htaccess


【解决方案1】:

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

像这样将 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 2012-03-21
    • 2021-12-31
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多