筆者最近調試程序時遇到的一個問題,localhost不能訪問但127.0.0.1可以訪問。
一、原理
我估計大多數人都不會去想localhost到底與127.0.0.1有什么不同,就比如我,有時候用http://localhost/來訪問本地服務器網頁,有時則用http://127.0.0.1/來訪問,我覺得他們是通用的表示本地服務器的兩個不同的寫法而已,就好比一個網頁可以通過域名來訪問也可以通過IP來訪問一樣,localhost代表的是域名,而127.0.0.1則代表IP地址。
localhost | 127.0.0.1 | 本機IP | |
網絡 | 不聯網 | 不聯網 | 聯網 |
傳輸 | 不使用網卡,不受防火墻和網卡限制 | 網卡傳輸,受防火墻和網卡限制 | 網卡傳輸,受防火墻和網卡限制 |
訪問 | 本機訪問 | 本機訪問 | 本機或外部訪問 |
PS:通過本機host文件,windows自動將localhost解析為127.0.0.1,可以修改
另外,我現在也應該明白了一個道理,那就是一般設置程序時本地服務用localhost是最好的,localhost不會解析成IP,也不會占用網卡、網絡資源。
二、解決方法
解決方法1:
修改host文件用記事本打開C:/WINDOWS/system32/drivers/etc/hosts文件,看是否有127.0.0.1 localhost 。如果沒有則將其添加進去,再查看能否訪問localhost。
解決方法2:
1、打開Internert信息管理查看IIS是否啟動,且默認網站時候已經開啟;
2、打開http://127.0.0.1/ 看是否能訪問IIS的默認網頁,能訪問則說明IIS已經成功安裝到電腦上,可能是無法解析localhost;
3、開始--命令(cmd)--ping localhost,看是否能ping通,從127.0.0.1上返回信息,如果成功則說明可以解析localhost;
4、如果上一步不成功,則用記事本打開C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:127.0.0.1 localhost ,如果沒有則將其添加進去,再查看能否訪問localhost。
5、嘗試將網站的主目錄指向另一個目錄或新建一個虛擬目錄,并在該新目錄創建一個新的網頁文件,如index.html,然后將其加到默認網站的"文檔"項中作為默認訪問的網頁,重新輸入網址:http://localhost/,看否能訪問。
6、還是不行的話將IIS卸載掉,重新再安裝一次。
文章列表