在没有域名的情况下,怎样才能创建出多站点访问?这个问题困扰我许久,之后阅读了《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:WindowsSystem32driversetc 文件夹,
用记事本打开hosts文件,在文件的最后添加一行 内容为(文字表示): 服务器ip地址 空格 你的ServerName 的名字
如我配置的为(ip地址是我乱打的): 44.44.7.7 test
然后再浏览器中访问: http://test/
一个域名就配置好了, 注意: 这个域名只能在自己电脑上进行访问,如果想在任何机器上都可以访问,还是去买个域名吧。