我想使用php将非www url重定向到www.
我知道在htaccess中使用mod_rewrite很容易实现.但我想使用php header()进行此重定向.
我编写了一个脚本来检查主机是否带有www.
$url=$_SERVER["HTTP_REFERER"]; if(preg_match_all("/http:\/\/www\./i",$url,$m)) {echo "host has www";}
else {echo"主机不以www开头";}
如果原始主机是非www,我如何继续使用并添加具有301状态的标题以将其重定向到www.domain.com?
在PHP中这种重定向是否可行?
你可以这样做:
if (strpos($_SERVER['HTTP_HOST'], 'www') === false) { $protocol = isset($_SERVER['HTTPS']) && filter_var($_SERVER['HTTPS'], FILTER_VALIDATE_BOOLEAN) ? 'https' : 'http'; header( "Location: $protocol://www." . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], true, 301 ); }