【发布时间】:2012-10-31 11:12:51
【问题描述】:
在PHP中,如何检查当前页面的url中是否有www?
例如,如果用户在 http://www.example.com/something 上,我如何才能发现 URL 中有 www,而在 http://example.com/something 上,网址中没有 www?
【问题讨论】:
-
请记住,如果您使用以下任何方法,请在执行任何操作之前检查以确保 $_SERVER['HTTP_HOST'] 存在。 if (isset($_SERVER['HTTP_HOST'])) 并非每个托管环境都会填充该变量。我遇到过一些没有的。最好同时使用 HTTP_HOST 和 SERVER_NAME 以确保您可以获得要检查的域。
-
@cryptic SERVER_NAME 是否始终存在?
-
stackoverflow.com/questions/2297403/http-host-vs-server-name 会在这两个方面提供一些很好的信息。如果 SERVER_NAME 未在 Apache 上设置,则会在 IP 上进行反向查找。如果您的域有一个专用 IP,它应该解析为正确的域,但如果它是一个共享 IP,您将面临返回的域是不同域的风险。
标签: php