apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析

时间:2021-02-15 20:53:36

虚拟目录配置

就是说,我们放项目放在D盘,F盘,而不是默认的www文件夹下也可以访问。比如这里,我在

  1. D:/PHP/work

放入的项目文件。

在httpd.conf加入:

(位置一般是在 </IfMoudule>这个标签下面)

#判断是否存在dir_module 这个模块

<IfModule dir_module>

#设置欢迎界面

DirectoryIndex index.php index.html index.htm

#配置别名,就是浏览器访问时用的。 localhost/ws

Alias  /ws "D:/PHP/work"

<Directory "D:/PHP/work">

#权限,只针对当前的目录而言

Order allow,deny

#允许所有人访问

Allow from all

</Directory>

</IfModule>

重启apache

http://localhost/ws  就可以访问了。

配置虚拟主机

1: 还是httpd.conf这个文件。搜索“vhosts”

把include前的就#删掉。

include就是把那个文件包含进来。

2: 编辑 apache2.2.22\conf\extra\httpd-vhosts.conf.

在最下面添加:

<VirtualHost 127.0.0.1:80>

#你的网站目录

DocumentRoot "D:/PHP/work"

#你网站的域名

ServerName www.gaotong2055.com

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

#权限设置

Order allow,deny

Allow from all

</VirtualHost>

3: 修改windows  hosts文件

首先,我们要明白为什么访问localhost就可以访问到我们的apache主页。

解析域名的时候,首先是从本地的hosts文件开始的。

如果查不到,才会去DNS服务器查询(这个就不多说了)。

如果你在这里面写一行:127.0.0.1     www.baidu.com

百度你是肯定上不了。因为访问的是你自己的机器。

hosts 就是一个映射(域名和IP的对应,localhost也可以说是一个域名) localhost  ->  127.0.0.1

找到C:\WINDOWS\system32\drivers\etc\hosts ,修改如下

不多解释,这就是为什么计算机认识localhost的原因。

127.0.0.1       localhost

127.0.0.1       www.gaotong2055.com

4、最后别忘了修改我们的DocumentRoot

还是httpd.conf   搜索:“DocumentRoot”  注释掉,修改为:

#DocumentRoot "c:/wamp/www/"

DocumentRoot "D:/PHP/work"

现在输入:

www.gaotong2055.com , 就可以访问我们的网站了

PS:当然了,这个方法只适合自娱自乐了,只有在自己的机器上可以用www.gaotong2055.com来访问。

因为我们并没有注册域名什么的。 说白了,和用localhost访问是一样的。

多域名配置

就是一个主机IP , 有多个域名,每个域名要对应不同网站(注意:不是同一个网站)。

比如,我想在添加一个域名: www.gaotong.com  访问

D:/PHP/work2

这个项目。

方法1: 通过端口区分。

原理就是很据端口区分,apache是可以监听多端口的。这个方法就是在域名配置里面写个其它的端口。

方法2: 使用*配符 配置httpd-vhosts.conf

把原来的<VirtualHost 127.0.0.1:80> 改为 <VirtualHost *:80>就可以了。

#域名1

<VirtualHost *:80>

#你的网站目录

DocumentRoot "D:/PHP/work"

#你网站的域名

ServerName www.gaotong2055.com

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

Order allow,deny

Allow from all

</VirtualHost>

#域名2

<VirtualHost *:80>

#你的网站目录

DocumentRoot "D:/PHP/work2"

#你网站的域名

ServerName www.gaotong.com

ErrorLog "logs/dummy-host2.example.com-error.log"

CustomLog "logs/dummy-host2.example.com-access.log" common

Order allow,deny

Allow from all

</VirtualHost>

http://blog.csdn.net/gladyoucame/article/details/8555287