在沒有域名的情況下,怎樣才能創建出多站點訪問?這個問題困擾我許久,之后閱讀了《http權威指南》,這本讓我恍然大悟。這里說明了從瀏覽器如何解析域名,再請求服務器,服務器收到請求后是如何處理請求,在有多個站點是,他又是如何選擇的。先簡要說說整個處理過程:
1、瀏覽器在輸入一個域名回車后,它會先解析域名(也就是找到對應的ip),查過過程為:a、查詢緩存記錄 b、查詢本地hosts文件 c、向dns服務器去查找
說明:
如請求http://test/ ,就會有如下http頭部,其中test就是主機名
2、查到對應ip后,便向服務器發出請求,
3、服務器收到請求后,會根據其url的主機地址來尋找請求的到底是哪個站點(就是將url的主機地址與服務器配置的ServerName),如以apach為例:
如果url的主機地址為test,Apache就認為其請求的是/data/wwwroot/default/目錄下的這個網站,
因此我們可以利用本地hosts文件,進行配置站點訪問:
服務器上的配置就是上圖所示,
第一步:這一個是在服務器上進行的修改
把 DocumentRoot "/data/wwwroot/default/" 和 <Directory "/data/wwwroot/default/"> 修改為你的網站所在位置(注意最后的那個斜杠)
把 ServerName test 改為自己的域名
第二步:這一步是在本地(windows)中的配置
打開 C:\Windows\System32\drivers\etc 文件夾,
用記事本打開hosts文件,在文件的最后添加一行 內容為(文字表示): 服務器ip地址 空格 你的ServerName 的名字
如我配置的為(ip地址是我亂打的): 44.44.7.7 test
然后再瀏覽器中訪問: http://test/
一個域名就配置好了, 注意: 這個域名只能在自己電腦上進行訪問,如果想在任何機器上都可以訪問,還是去買個域名吧。