thinkPHP5.0 獲取域名


$server_url = $_SERVER['SERVER_NAME']?"http://".$_SERVER['SERVER_NAME']:"http://".$_SERVER['HTTP_HOST'];

$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的區別
1.通常情況: 
$_SERVER[“HTTP_HOST”] 在HTTP/1.1協議規范下,會根據客戶端的HTTP請求輸出信息。 
$_SERVER[“SERVER_NAME”] 默認情況下直接輸出apache的配置文件httpd.conf中的ServerName值。

2.當服務器為非80端口時:
$_SERVER[“HTTP_HOST”] 會輸出端口號,例如:mimiz.cn:8080 
$_SERVER[“SERVER_NAME”] 會直接輸出ServerName值 
因此在這種情況下,可以理解為:HTTP_HOST = SERVER_NAME : SERVER_PORT

在實際應用中,應盡量使用$_SERVER['HTTP_HOST'] ,比較保險和可靠

最近做的一個項目,當項目放到客戶手里測試的時候,發現程序的跳轉總是出錯。
原因是:客戶的公司是通過一台服務器連接到因特網,而我們程序所在的服務器,是通過域名映射過來的,也就是說中間有個“代理”的過程,
因此$_SERVER['HTTP_HOST']在這樣的環境里,取得的值總是程序所在的服務器在其局域網內的ip值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM