apache多网站配置

前言php

 虽然说apache安装好后给了咱们一个默认的一个网站。而且咱们还可以将这个默认的网站改动成咱们本身的网站。但是这彷佛还不能全然知足咱们的需要,因为当咱们要在本机上开发(phpWeb)或者測试另一个网站的时候,那么咱们是否是要将那个默认的网站改动成咱们本身的那个网站呢,假设咱们但愿咱们电脑上有同一时候多个网站,那又该怎么办呢?因此需要一种可以同一时候在一个电脑上同一时候提供多个网站,那么就需要配置多网站了。html

多网站配置apache

(1)打开咱们的apache配置文件。httpd.conf。查找vhost.confkeyword,将查找到的如下这行前面的凝视符号#去掉以打开多网站配置:markdown

#Include conf/extra/httpd-vhosts.conf

(2)打开conf/extra/httpd-vhosts.conf文件,按例如如下步骤配置网站分布式

a. 在这个文件的头部(尽可能加入在上面)。加入例如如下一行代码(apache2.2需要这一步。apache2.4 NameVirtualHost被移除了,可以不作这一步)post

# 设定但愿提供“多网站”服务的IP地址和port号,一般默认就是:*.80
# 当中*表明所有的IP。默认事实上apache安装好以后就设置好,无需手动设置(keywordNameVirtualHost):
# 仅仅写一次
NameVirtualHost *:80

b. 将默认的两个网站去掉。或者改动成咱们本身的网站,如咱们将这个两个网站。第一个网站配置成apache默认的网站,第二个配置成咱们本身的一个网站(就是磁盘上的一个目录而已)网站

# 将apache的默认网站设置成第一个网站,这样
# 当请求的网站在这里没有匹配到的时候,apache
# 会将这里的第一个网站返回
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "D:\AMP\httpd-2.4.18-win64-VC11\Apache24\htdocs"
    # 属性需要和DocumentRoot一致
    <Directory "D:\AMP\httpd-2.4.18-win64-VC11\Apache24\htdocs">
        Options Indexes
        # 赞成所有的请求
        Require all granted
        # 差点儿不要写Deny
        DirectoryIndex index.html,index.php
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.myphp.com
    # 设定该网站的别名,即经过如下域名也可以訪问
    ServerAlias "lt.php.com"
    DocumentRoot "D:\Software\PHP\project"
    # 属性需要和DocumentRoot一致
    <Directory "D:\Software\PHP\project">
        Options Indexes
        # 赞成所有的请求
        Require all granted
        # 差点儿不要写Deny
        DirectoryIndex index.php index.php
    </Directory>
</VirtualHost>

注意看上面的凝视,当中第一个网站设置成了apache默认的网站,第二个网站设置成了我磁盘上的某个目录,之后需要不少其它的网站,那么在后面按上面的形式以此加入就能够。但是DocumentRoot后面的路径需要和Directory的那个路径一致。ui

注意:.net

  1. 因为咱们打开了多网站配置。那么当apache检測没法匹配到的域名,apache将会将第一个网站默认返回,写在最前面的那个网站就是第一个网站。code

  2. 上面的网站权限訪问控制是基于apache2.4的,apache2.2是Deny from all(拒绝所有)或者Allow From all 或者Deny From ip地址或域名,Allow From 多个ip地址或者多个域名的形式。

上面的这两步作好后,需要确保咱们电脑的hosts文件里有咱们本身设置网站的域名或者别名相应的ip地址,加入本机域名相应的ip可以參考Apache主机(网站)配置。port监听,目录訪问权限及分布式权限这篇文章。

相关文章
相关标签/搜索