我想在apache webserver,php,htaccess(仅限)中获取包含特殊字符的所有内容
当用户键入
时www.domain.com/whatever+here+must+get+back+include+special+character
+等特殊字符? \#&
现在我有这个htaccess代码只能运行得很好,但不是我上面提到的特殊字符
#route everything to index.php RewriteEngine On RewriteBase / RewriteRule ^(.*)$ index.php?everything=$1 [L,QSA]
然后在我的index.php中,我有
echo $_GET['everything'];
我希望它能真正获得包括+等特殊字符在内的一切吗? \#&
答案 0 :(得分:2)
请勿使用echo $_GET['everything'];
,请改用:
$url = $_SERVER['REQUEST_URI'];
$url_array = explode('?',$url);
array_shift($url_array);
$everything = implode('?', $url_array);
echo $everything;
看: DEMO
编辑: 我认为使用服务器端脚本(PHP)在哈希(#)之后不可能得到任何东西,因为它没有被发送到服务器。你必须使用javascript;
答案 1 :(得分:1)
只需添加NE标记即可。像这样:
RewriteRule ^(.*)$ index.php?everything=$1 [L,QSA,NE]