重定向而不告诉浏览器

时间:2014-04-16 07:41:44

标签: php redirect browser responsive-design

我使用w3layouts.com上的模板创建了一个响应迅速的网站。 它支持所有桌面,Java手机,智能手机。

因此,您可以从该网站下载任何模板以查看其工作原理。 它首先看到用户是使用PC,Java手机还是智能手机。如果他在PC上,php变量$ browser_t设置为web,如果用户在移动设备上,则变量设置为mobile,如果用户在智能手机上,则该变量设置为智能手机。在模板中有三个文件夹web,mobile,smartphone。模板index.php检查用户设备,然后将特定文件包含在特定文件夹中,即web,mobile或smartphone。例如,如果在移动设备上用户要求www.mysite.com/hello.php,则.htacces文件将转至index.php,而index.php将包含www.mysite.com/mobile/hello.php。

但我想在我的网站中使用get请求,所以我更改了index.php文件以发送如下标题:

header('Location: mysite.com/'.$browser_t.'/'.$page_name);

$ page_name是保存' hello.php'的变量。网址的一部分。

但问题是我不希望用户知道网址是如何变化的。那么有没有办法重定向到不同的页面而不告诉用户浏览器页面被重定向。

1 个答案:

答案 0 :(得分:0)

不太欣赏,但你可以使用这个技巧。创建不同的索引文件,包括一个index.php,index_main.php,index_mobile.php。现在你在index.php文件中使用这段代码

switch ($browser_t){
    case "<your main view case>":
        include "index_main.php";
        break;
    case "<your mobile view case>":
        include "index_mobile.php";
        break;
    # and so on
}