Nginx配置文件中沒有相關的rewrite跳轉規則,那么就應該是MediaWiki的PHP程序做的跳轉,但是,遍歷了MediaWiki目錄下的所有文件以及查詢了MySQL數據庫中的每個表,都沒有發現記錄有這個域名。后來,通過查看源代碼發現MediaWiki是根據$_SERVER['SERVER_NAME']做的跳轉,順藤摸瓜,發現了下列問題:
在一個Nginx虛擬主機中,可以綁定多個server_name,例如:
而server_name的先后順序的不同,對PHP程序中使用$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')獲取服務器域名是有影響的:
$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')獲取的始終將是Nginx server_name配置中的第一個域名,這一點在程序開發中需要注意。這第一個域名就相當于Apache虛擬主機配置中的ServerName,后面的域名就相當于Apache的ServerAlias。
|
新聞熱點
疑難解答