如果在本地要同时测试多个网站, 通过子目录的方式访问有些不方便. 而只通过IP地址访问则无法同时访问多个站点. 这里我们就通过httpd server的虚拟主机功能和修改本地DNS文件来模拟通过域名来访问本地的多个测试站点.
这里以apache2为例, 其他的httpd server只要支持虚拟主机也可以使用这样的方法.
首先修改本地DNS解析文件,这样我们就可以通过域名来访问本地站点.
Windows:
C:\windows\system32\drivers\etc\hosts
Linux: ubuntu, fedora
/etc/hosts
增加新的解析如:
#ip url
192.168.1.1 www.tairan.net
192.168.1.1 www.51xna.com
Note: 这里的域名要跟虚拟主机配置中的ServerName保持一致
基于ServerName的虚拟主机配置
NameVirtualHost *:80
ServerName www.tairan.net
ServerAdmin webmaster@tairan.net
DocumentRoot /var/www/tairan.net
ErrorLog logs/tairan.net-error_log
CustomLog logs/tairan.net-access_log common
ServerName www.51xna.com
ServerAdmin webmaster@51xna.com
DocumentRoot /var/www/51xna.com
ErrorLog logs/51xna.com-error_log
CustomLog logs/51xna.com-access_log common
设置完毕, 重启apache. 然后就可以通过我们指定的域名来访问在本地的网站了.
另外虚拟主机还可以基于IP设置, 在这里并不适合我们使用.
其他关于虚拟主机的配置参见 Apache document