## 单站点配置项
```
ServerName 服务器名 # 主机名(服务器名/站点名/域名)
DocumentRoot "实际物理路径" # 站点位置(站点目录路径)注意:还要为其目录设置访问控制权限才可访问
# 监听端口
listen 12.34.56.78:80
listen 80
listen 8088
listen 192.168.253.1:10000
# 可以同时写多个监听端口,如果只写端口,表示本机的多个ip都使用该端口,否则表示只负责监听该ip的该端口
```
## 站点目录的访问控制权限
```
<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 default.php
</Directory>
```
## 站点目录下的分布式权限控制:.htaccess
```
<Directory "c:/www">
Options Indexes
Order Deny,Allow
Allow from all
DirectoryIndex index.php
//允许“分布式”权限配置
AllowOverride all
</Directory>
// .htaccess 在需要控制的目录下创建该文件
Deny from all
Allow from 192.168.3.4
```
## 多站点配置
1. 多域名(多项目)---单 ip ;
2. 多ip --- 多项目 ,或者说一个项目一个IP ;
```
Include conf/extra/httpd-vhosts.conf
NameVirtualHost *:80 # * 主机的所有IP,80端口
<VirtualHost *:80>
ServerName www.php39.com
DocumentRoot 'C:\webserver\apache\htdocs'
<Directory 'C:\webserver\apache\htdocs'>
Options Indexes
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
# host文件添加域名解析
127.0.0.1 www.php39.com
```
> 在多站点配置中,第一个站点被称为“默认站点”,如果某个请求的域名无法跟任何一个站点“匹配”,就会当做请求的是默认站点去处理(应答);一旦实现了多站点配置,则最初安装成功时的“默认站点”就失效了,我们可以将“localhost”当做一个普通站点重新设置就可以了,也可以将其放在第一个位置又重新作为默认站点;
## 域名的别名配置
```
<VirtualHost *:80>
ServerName www.php39.com
//设置该站点的别名,即通过以下域名也可以访问
ServerAlias map.php39.com tv.php39.com
DocumentRoot 'C:\webserver\apache\htdocs'
<Directory 'C:\webserver\apache\htdocs'>
Options Indexes
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
```
## 外部目录(目录映射)
站点的内部目录就是该站点根目录下的目录,
外部目录,就是不处于该站点根目录下的目录
```
<VirtualHost *:80>
ServerName www.php39.com
DocumentRoot 'C:\webserver\apache\htdocs'
<Directory 'C:\webserver\apache\htdocs'>
Options Indexes
Order Deny,Allow
Allow from all
</Directory>
#设置一个虚拟目录
Alias /abc 'C:\Users\Gru.xqw\Desktop\abc'
<Directory 'C:\Users\Gru.xqw\Desktop\abc'>
Options Indexes
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
//接下来就可以使用 www.php39.com/abc , 来访问 C:\Users\Gru.xqw\Desktop\abc 目录下的内容了
```