$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";if ($_SERVER["SERVER_PORT"] != "80"){ $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];} else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}header('Location: '. $pageURL);将用户重定向到完全相同的页面,www。完整。
因此,要摆脱www。,我们只需替换一行:
$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";if ($_SERVER["SERVER_PORT"] != "80"){ $pageURL .= substr($_SERVER['SERVER_NAME'], 4).":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];} else { $pageURL .= substr($_SERVER['SERVER_NAME'], 4).$_SERVER["REQUEST_URI"];}return $pageURL;那应该起作用。
顺便说一句,这是Google推荐的方法,因为它会保持
https://不变,并保留端口以及您是否使用过的端口等。
正如Gumbo指出的那样,他使用的
$_SERVER['HTTP_HOST']是来自标头而不是服务器的消息,因此
$_SERVER['SERVER_*']可靠性不高。您可以将替换
$_SERVER['SERVER_NAME']为
$_SERVER['HTTP_HOST'],并且应该以相同的方式工作。



