一般我们开发一个网站,都是先在本地部署,调试,然后再上传到网上。比如我们的web目录是d:/www,那么就会有
d:/www/webstie1
d:/www/website2
d:/www/…
然后通过浏览器浏览
http://localhost/webstie1
http://localhost/webstie2
http://localhost/…
当然这样没有问题,不过如果能在本地实现用域名访问,不是更方便,像这样:
http://www.website1.com
http://www.website2.com
…
只要稍微设置一下Apache,就可以实现了。我的apache版本是2.2.8,操作系统是windows,其他版本也类似。
因为网上的相关资源还算丰富,所以我以为很快就可以搞定,结果还是走了些弯路。
首先打开%ApacheDir%/conf/httpd.conf,这是apache的配置文件。找到
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf
把第二行前面的注释去掉,这样就可以通过修改httpd-vhosts.conf文件来达到配置虚拟主机的目的。也可以直接在httpd.conf文件下配置。
httpd-vhosts.conf文件内容:
NameVirtualHost * :80
< VirtualHost * :80 >
ServerName localhost
DocumentRoot "d:/www"
</ VirtualHost>
< VirtualHost * :80 >
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot "d:/apps/site1"
</ VirtualHost>
这是最基本的配置,*号代表任何ip,也可以指定为本地ip:127.0.0.1。最好配置两个或两个以上,如果只有一个的话,那么其中的DocumentRoot就会覆盖httpd.conf文件里的DocumentRoot,这也是我走弯路的原因。
配置完后,别忘了修改hosts文件。在c:/windows/system32/drivers/etc/下面,添上两条
127.0.0.1 site1.com
127.0.0.1 www.site1.com
这样就完成了对site1.com的DNS解析,以后访问www.site1.com或site1.com就会访问本地的d:/apps/site1文件夹
from http://lzyy.org/blog/archives/55