2016-05-13 29 views
0

我有一个脚本在我的网站上运行,这意味着重定向浏览到'/'的用户,然后将它们发送到'www'。使用302重定向。为什么我的PHP脚本使用/重定向用户?

我在Chrome中感到困惑的是,为什么它的工作原理,但最终将它们发送到...

http://www.example.com//

我下载了脚本和并不真正了解它....基本上我希望脚本采取谁去/site.com任何人,使用302 www.site.com网站

这是脚本重定向他们..

<?php 

$protocol = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; 

if (substr($_SERVER['HTTP_HOST'], 0, 4) !== 'www.') { 
    header('Location: '.$protocol.'www.'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['REQUEST_URI']); 
    exit; 
} 

include_once("index/index.html"); 

?> 

有什么想法?

+5

是$ _SERVER ['REQUEST_URI']已经是/然后你说'/'.$_SERVER['REQUEST_URI']这将是2斜杠 – Brett

+0

你也可以通过htaccess删除额外的/。 – Chandresh

+0

我不知道我下载了脚本,并且不理解它....基本上我希望脚本接受任何正在去/site.com的人,并使用302将它们重定向到www.site.com – Exitos

回答

1

header('Location: '.$protocol.'www.'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['REQUEST_URI']);

更改您的代码以

header('Location: '.$protocol.'www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

为,要添加extra forward slash

希望它有帮助。

+0

请接受答案,如果它有帮助。 – srssatya

+0

非常感谢。对不起,我正在等待实施和测试,看看它是否工作(它做到了),谢谢! :-) – Exitos