主机名 ServerName//站点名,服务器名
站点位置 DocumentRoot//实际物理路径
单站点配置项
端口监听:在Apache的配置文件httpd.conf中:
//可以同时写多个Listen监听如果只是些端口,表示本机的多个ip都使用该端口.否则表示只"负责"监听该ip的该端口
Listen 80
Listen 192.168.100.1:8080
目录访问权限
一个站点就是一个"目录".每个目录,都应该给其设定"访问权限",语法如下:
<Directory “要设置权限的目录路径”>
#设置当一个请求中没有给定请求的文件名又没有默认网页(首页)的时候,显示文件列表
Options Indexes
#设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)
Order Deny,Allow
#Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!
Deny from 拒绝名单 比如:deny from 192.168.3.8 172.180.4
Allow from 允许名单 比如:Allow from all
#设置该文件夹下的“默认网页”(首页),可以设置多个,用于请求中不带文件名的时候自动使用该文件作为“返回”页面。
DirectoryIndex index.php index.html
</Directory>
目录访问权限中的"分布式权限":
对于某个目录的访问权限,我们在Apache中使用Directory来设定,带可能不够方便:1/Apache配置修改,必须重启Apache
2/某个站点中的"下级目录"访问权限,不方便单独设置
分布式权限,针对某个网站的如何一个下级目录,都可以单独去设置其访问权限,并且可以不用重启Apcahe就能生效
第一步:在该站点对象目录权限的Directory配置中添加一条:
#表示当前目录,允许"分布式"权限配置
AllowOverrideall
第二步:在该目录下的任何子目录中,创建一个特殊的文件(/htaccess),在该文件中添加所需要的"权限内容"
Deny from all//拒绝全部访问
Allow from 192.168.100.1//允许访问ip
多站点配置
第一步:在Apache的httpd.conf中,"打开"多站点虚拟主机配置文件项
Include conf/extra/httpd-vhosts.conf
第二步:在httpd-vhosts.vonf文件中,设定希望提供"多站点"服务的IP地址和端口号,默认*.80即可
NameVirtualHost *:80
第三步:配置多个站点如下
<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs/jdshop"
ServerName jdshop.com
</VirtualHost>
其他注意:每个站点的设置项,主要就3个:ServerName DocumentRoot <Directory>...</Directory>
在多站点配置总,第一个站点被称为"默认站点",如果每个请求的域名无法跟任何一个站点"匹配",就会当做请求的是默认站点去应答
一旦设置了多站点配置,则最初时的"默认站点"就失效了,需要重新配置一个默认站点