1.站点
就是一个文件夹,存放与网页相关的文件。
2.虚拟目录
站点+访问权限
3.虚拟主机
虚拟目录+域名绑定
一个计算机安装了一个Apache服务器,一个Apache中有一个虚拟目录,也就是一台计算机只能放一个网站。思考:如何实现一个物理主机上只安装一个Apache软件,但却能支持多个网站(多个虚拟目录)。
关注两个文件:
Apache安装目录/conf/httpd.conf
Apache安装目录/conf/extra/httpd-vhosts.conf
1.在httpd.conf中找到
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf 去掉这行的注释,开启虚拟主机功能
2.在httpd-vhosts.conf中根据其中的模板自行添加并修改,下面给出我自己改的例子
<VirtualHost *:80>
DocumentRoot "f:/www/php.com"
ServerName www.php.com
DirectoryIndex index.php #自定义主页
<Directory "f:/www/php.com"> #指定访问权限
# allow from all 需要注意的是我发现这个应该是老版本起作用,针对Apache2.4新版本应使用新的规则,请参考下面
# 的网址
# http://httpd.apache.org/docs/2.4/upgrading.html
# https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
<RequireAll>
Require all granted
</RequireAll>
</Directory>
ErrorLog "logs/php.com-error.log"
CustomLog "logs/php.com-access.log" common
</VirtualHost>
经过这三步后,当你在浏览器输入www.php.com后,假设能进行dns解析到本机(譬如在C:/Windows/System32/drivers/etc/hosts文件中以管理员身份添加127.0.0.1 www.php.com这条记录),那么将会被定位到在httpd-vhosts.conf中设置的f:/www/php.com这个文件夹。
建议初学者不要直接使用集成环境,而是一步一步搭建Apache、PHP等这些环境,刚开始可能会比较痛苦,但这也是一个弄清楚原理的过程,如果你在搭建的过程中有什么问题,请在评论下方留言。