Rumah >pembangunan bahagian belakang >tutorial php >HOSTS绑定域名和IP,但是访问IP和域名,出来的内容不一样

HOSTS绑定域名和IP,但是访问IP和域名,出来的内容不一样

WBOY
WBOYasal
2016-06-23 14:39:482939semak imbas

HOSTS 文件是这样绑定的
       119.57.113.31 cloudtest.cnfol.com

访问IP出现的是这样的内容
    

输出域名又是这样的结果
    


我是这样理解的,输入域名,操作系统首先会去找HOSTS文件,然后映射为IP地址。

所以访问IP和域名应该是一模一样的结果。

GOOGLE一下,没有找到想要的答案!!

一台主机上可能有多个网站,所以访问IP可能访问不了,访问域名才访问得了。这个我明白。

关键这是绑定在HOSTS上啊。想不通啊。

求解释!!!


回复讨论(解决方案)

如果你一个ip绑定多个域名的话,那访问ip又该去哪个域名呢,所以你访问ip不一定能访问你的绑定的域名

你访问ip,就相当于在本机访问localhost,默认指向你的apache里的DocumentRoot这里的指向,而不是你的域名

我是这样理解的,输入域名,操作系统首先会去找HOSTS文件,然后映射为IP地址。
你这个理解没错

所以访问IP和域名应该是一模一样的结果。
几乎是等效的,但是也有例外,那就是在配置apache的时候二者是截然不同的,你看下边的配置

    ServerAdmin ???@gmail.com
    DocumentRoot "D:/wamp/www/_get.tw"
    ServerName 7.7di.net



    ServerAdmin ???@gmail.com
    DocumentRoot "D:/wamp/www/_web.tw"
    ServerName 7di.net

这是同一台服务器上的两个不同的网站,尽管两个网址指向了同一个ip,但是他们却用来开启不同的网站

问题的关键在于你是如何配置 cloudtest.cnfol.com 主机的

问题的关键在于你是如何配置 cloudtest.cnfol.com 主机的

可以这样说,通过HOSTS过,我们都是用IP来访问服务器的。所以服务器返回一样的结果。

我自己猜测,是不是这样子,我们在地址栏上的输入,是不是发给服务器,服务器才可以判断,返回哪个给我们

所以对于这种没有配置域名服务器的,必须在 HOSTS  文件中绑定一下

如果用 ip 和 域名 访问会得到不同的页面,那么他们进入的就不是同一个入口文件
当然也不排除你在入口文件中做了甄别,不过那就绝对的你的问题了
如果经同一个ip能访问到多个网站,则必定存在域名绑定虚拟主机的设置
当web主机与虚拟主机共存的情况下,虚拟主机列表中要同时做web主机的域名(localhost)的绑定
hosts 文件只是替代 dns 的工具,凡是出现在其中的域名都不再向 dns 查询 ip 地址
但是 ip 只是用于网络连接,web 服务器的响应是根据域名做出的

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn