加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

$_GET中具有转义的符号的php – htaccess重写规则失败

发布时间:2020-05-25 09:47:53 所属栏目:PHP 来源:互联网
导读:我遇到一个get参数与htaccess重写规则相结合的问题. 下面是urlencode()的链接;重写规则我用来重定向到index.php,最后是index.php上的一个print_r($_ GET). 您可以看到,urlescaped符号不是变量static的值的一部分,而是与我的期望相反,被解释为变量分隔符.为什

我遇到一个get参数与htaccess重写规则相结合的问题.
下面是urlencode()的链接;重写规则我用来重定向到index.php,最后是index.php上的一个print_r($_ GET).
您可以看到,urlescaped&符号不是变量static的值的一部分,而是与我的期望相反,被解释为变量分隔符.为什么?

初始链接:

<a href="static/Game-Tech-%26-Arts-Lab">link</a>

的.htaccess:

RewriteRule ^static/(.*)$/index.php?static=$1 [L]

index.php文件:

Array ( [static] => Game-Tech- [-Arts-Lab] => )
啊好吧.有趣.似乎有一个特殊的解决方案来保持&符号特别逃脱.使用 [B] flag for Rewriterules.
RewriteRule ^static/(.*)$/index.php?static=$1 [L,B]

当内插$1占位符时,这应该是urlencode特殊字符.它只适用于Apache 2.2,但我相信.

找到几个参考文献:

> http://www.dracos.co.uk/code/apache-rewrite-problem/
> mod_rewrite with question marks and ampersands (with PHP)
> http://www.mediawiki.org/wiki/Manual:Short_URL/Ampersand_solution

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读