17.11 PHP入门

03 主机(站点)配置 && 虚拟目录设置

2017-12-02  本文已影响19人  海野夏桑

默认情况下,Apache安装成功,就默认配置好了一个站点,该站点的实际位置:Apache安装位置/htdocs

站点其实就是一个文件夹嘛,你可以将任何文件夹当作站点!可以打开Apache的配置文件httpd.conf进行配置。一个站点的2个核心信息:

一.目录访问权限

1.集中式设置访问权限。一个站点就是一个目录,每个目录都应该给予设置“访问权限”,其基本语法如下:

<Directory "目录路径">
    #设置当一个请求没有指定文件名、并且又没有默认首页的时候,显示文件目录
    Options Indexs
    #设置权限控制,“Allow”和“Deny”的先后顺序
    #如下设置了先设置拒绝后设置允许
    order Deny,Allow
    #Deny设置要拒绝访问的IP,基本没什么用?换个IP就能访问了?或者“墙”有用?
    #拒绝了一个IP
    Deny From 178.163.3.4
    #拒绝了256个IP。以以下开头的都拒绝访问。想拒绝更多,IP地址写越得短
    Deny From 178.163.3
    #设置允许所有访问
    Allow From all
    #设置访问首页,可设置多个,按顺序查找返回
    DirectoryIndex 01.html 02.php
</Directory>

2.分布式设置访问权限。以上集中用Directory来设置访问权限,是很不方便地:1.每次更改都要重启Apache服务 2.每个站点地子目录,不方便就行访问权限设置。所以我们!有了分布式设置权限地方法,分两步进行设置:

AllowOverride all
Deny From all
Allow From 178.168.3.4

二.多站点配置

多站点配置分3步进行:

<VirtualHost *:80>
    #第一个站点的信息,关键3项
    #ServerAdmin,或者你用ServerName也是可以的
    ServerAdmin www.xxx.com
    #DocumentRoot
    DocumentRoot "站点目录绝对路径"
    <Directory "站点目录绝对路径">
        Options Indexes
        Order Deny,Allow
        Allow From all
        DirectoryIndex 首页文件名
    </Directory>
    剩下的3项就不学习了,以后有兴趣再研究
    #ServerAlias项为站点别名设置
    #ErrorLog项为错误日志设置
    ##CustomLog项为访问日志设置
</VirtualHost *80>
<VirtualHost *80>
    #第二个站点的信息
</VirtualHost *:80>

在多站点配置中,第一个站点被称为默认站点,如果请求域名无法跟任何一个站点匹配,会将请求当作请求默认站点去处理。
一旦实现多站点设置,最初的默认站点就失效了,也就是localhost不能用了,嘛,可以将localhost当作普通站点名来用的嘛。

(额外提一下,设置好的主机名,要在hosts里配置上对应的IP地址才可以使用的,hosts所在目录:C:\Windows\System32\drivers\etc,以管理员方式打开写上就可以了: IP地址 对应主机名)

三.目录别名(虚拟目录)设置

设置虚拟目录的方法:

<VirtualHost *:80>
    ServerAdmin www.xxx.com
    DocumentRoot "站点目录绝对路径"
    <Directory "站点目录绝对路径">
        Options Indexes
        Order Deny,Allow
        Allow From all
        DirectoryIndex 首页文件名
    </Directory>
    #设置一个虚拟目录
    Alias /a2  "真实目录路径"
    #设置该虚拟目录对应真实目录的访问权限
    <Directory "真实目录路径">
        Options Indexes
        Order Deny,Allow
        Allow From all
    </Directory>
</VirtualHost *80>
上一篇下一篇

猜你喜欢

热点阅读