用apache搭建的WEB伺服器,如何讓網友只能透過設定的網域名稱訪問,而不能直接透過伺服器的IP位址存取呢,有兩個方法可以實現(僅限於我知道的,當然肯定還會有其他方法可以實作),都是修改httpd.conf檔來實現的,以下舉例說明。
方法一:在httpd.conf檔案最後面,加入以下程式碼
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
ServerName 221.*.*.*
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "c:/web"
ServerName www.webjx.com
</VirtualHost>
說明:藍色部分是實現拒絕直接通過221.*.*.*這個IP的任何訪問請求,這時如果你用221.*.*.*訪問,會提示拒絕訪問。紅色部分就是允許透過www.webjx.com這個網域訪問,主目錄指向c:/web(這裡假設你的網站的根目錄是c:/web)
方法二:在httpd.conf檔案最後面,加入以下程式碼
NameVirtualHost 221.*.*.*
<VirtualHost 221.*.*.*>
DocumentRoot "c:/test"
ServerName 221.*.*.*
</VirtualHost>
<VirtualHost 221.*.*.*>
DocumentRoot "c:/web"
ServerName www.webjx.com
</VirtualHost>
說明:藍色部分是把透過221.*.*.*這個IP直接存取的請求指向c:/test目錄下,這可以是個空目錄,也可以在裡面建一個首頁文件,如index.hmtl,首面文件內容可以是一個聲明,說明不能透過IP直接存取。紅色部分的意思跟方法一是一樣的。
註:修改後要重啟apache