0

我想让所有东西都包括 apache webserver、php、htaccess 中的特殊字符(仅限)

当用户键入

www.domain.com/whatever+here+must+get+back+include+special+character

特殊字符,例如 + ? \ # &

现在我有了这个 htaccess 代码,它只能很好地工作,但不适用于我上面提到的特殊字符

#将所有内容路由到 index.php
重写引擎开启
RewriteBase /
RewriteRule ^(.*)$ index.php?everything=$1 [L,QSA]

然后在我的 index.php 中,我有

回声 $_GET['一切'];


我希望它真正 GET 一切包括特殊字符,如 + ?\ # &

4

2 回答 2

2

不要使用echo $_GET['everything'];,改用这个:

$url = $_SERVER['REQUEST_URI'];
$url_array = explode('?',$url);
array_shift($url_array);
$everything = implode('?', $url_array);
echo $everything;

看:演示

编辑: 我认为使用服务器端脚本(PHP)在哈希(#)之后不可能得到任何东西,因为它没有发送到服务器。你必须使用javascript;

于 2013-04-04T14:08:22.083 回答
1

只需添加NE标志。像这样:

RewriteRule ^(.*)$ index.php?everything=$1 [L,QSA,NE]
于 2013-04-04T14:02:33.910 回答