PHP:最佳重定向技术

时间:2011-12-19 01:57:02

标签: php

我目前正在使用以下优秀的移动检测脚本:detectmobilebrowsers.mobi

这非常有效,但它会将主站点上的每个页面(包括任何查询参数)重定向到您的移动网站的主页。

我需要的是:

http://www.mydomain.com/page.php?var1=X&var2=Y

指向:

http://mobile.mydomain.com/page.php?var1=X&var2=Y

我有多个页面应该将查询字符串重定向到他们的移动版本。

最好的方法是什么?我以为我应该:

检查页面和查询字符串的$ _SERVER ['HTTP_REFERER'],使用开关/案例循环遍历我需要在主站点和移动站点上匹配的10个页面然后更改移动设备中的引用URL检测脚本。

这有意义吗?

我一直在努力获取页面和查询...欢迎任何建议和想法。

3 个答案:

答案 0 :(得分:3)

if ($mobile_is_detected) {
    header('Location: http://mobile.mydomain.com' . $_SERVER['REQUEST_URI']);
    exit;
}

答案 1 :(得分:2)

除了Andy的回答,重定向时应将响应状态设置为301。

请注意,如果您在调用该函数之前打印了任何HTML或header()任何内容,则可能无法调用echo

if ($mobile_is_detected) {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://mobile.mydomain.com' . $_SERVER['REQUEST_URI']);
}

答案 2 :(得分:0)

您可以使用$_SERVER['QUERY_STRING']重定向,首先将查询字符串添加到重定向网址。