使用apache服务器获取域名后的所有内容

时间:2013-04-04 13:57:59

标签: php apache .htaccess

我想在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'];


我希望它能真正获得包括+等特殊字符在内的一切吗? \#&

2 个答案:

答案 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]