PHP重定向/获取URL和查询字符串

时间:2012-04-16 01:56:28

标签: php string redirect

我已将网站的主目录移动到子目录,因此该sub现在是根。

我仍然在世界上指向子目录的链接,所以我想在抓取任何和所有查询字符串参数时进行重定向。

新闻博客曾经是“/ news /”,但现在博客是主目录。

例如,我想重定向

example.com/news/?p=1092
to
example.com/?p=1092

问题是有很多查询字符串,我想抓住它们。

我做不到: ($ _GET [ “P”])

因为可能还有:

example.com/news/?page=1092&location=xyz

我认为我不能使用htaccess,因为我仍然在新应用程序中使用新闻目录。所以重写规则会非常复杂。

我想也许我可以在新闻目录中创建一个index.php并执行parse_url或$ _SERVER ['REQUEST_URI'];并在example.com/news/上进行拆分,但我不知道如何。

思想?

2 个答案:

答案 0 :(得分:1)

获取页面的URI

$request_url=$_SERVER['REQUEST_URI'];

输出应为news/?p=1023

分解结果

explode("/", $request_url, 2);

/news/之后获取组件,然后重定向

$link = $request_url[2]; //the second piece of the explode
header( 'Location: http://www.example.com/$link' ) ;

答案 1 :(得分:0)

您正在寻找前控制器模式。 Google有大量示例,包括this one。希望这有帮助!