您的位置:首页 > 运维架构 > Apache

Apache为本地主机配置多个网站根目录详解

2017-08-09 09:57 597 查看
Author:KillerLegend

Date:2014.5.27

From:http://blog.csdn.net/killerlegend/article/details/27195445

------------------------------------------------------------------分割线-----------------------------------------------------------------------------

在httpd.conf文件中,有如下配置(注:舍去httpd.conf文件的注释内容)

[html] view plain copy

print?

Listen 80

ServerName localhost

<Directory />

AllowOverride none

Require all denied

</Directory>

DocumentRoot "E:"

<Directory "E:/Workshop/Apache">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

(测试之前最好清理一下浏览器缓存),那么在浏览器中输入http://localhost/Workshop/Apache/ 便可以访问E:/Workshop/Apache下的所有文件,注意此处的根目录是E:,但是上面的那个Directory设置了权限所以无法访问E盘下面的所有内容,如果将上面的那个Directoy更改为:

[html] view plain copy

print?

<Directory />

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

那么便可以从浏览器中访问E盘的所有东西,当在浏览器中输入localhost的时候,浏览器将会显示E盘根目录下的所有内容,并且可以访问。为了安全,我们通常不这么做,因此经常的设置方法是下面这样的配置:

[html] view plain copy

print?

Listen 80

ServerName localhost

<Directory />

AllowOverride none

Require all denied

</Directory>

DocumentRoot "E:/Workshop/Apache"

<Directory "E:/Workshop/Apache">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

通过浏览器只允许访问特定目录,此处也就是E:/Workshop/Apache目录下的所有内容。当然对于第二个Dir,可以设置E:/Workshop/Apache下不同文件夹的访问权限。

最后说一下虚拟主机的设置,请按照以下格式设置(放在httpd.conf文件末尾即可):

如下所示,需要首先设置监听端口,然后是NameVirtualHost指定主机地址以及端口,接下来就是对VirtualHost进行设置了,其中包括SeverName也就是主机名以及文档根目录,注意对于本地开发时,将ServerName设置为localhost或者127.0.0.1即可,其中的文档根目录与目录设置一样即可,或者你也可以在文档根目录中为不同的文件夹设置不同的访问权限。其中的×号代表监听所有访问设置端口的虚拟主机。

[html] view plain copy

print?

Listen 81

NameVirtualHost *:81

<VirtualHost *:81>

ServerName 127.0.0.1

DocumentRoot "C:/Users/Administrator/php/webroot1"

<Directory "C:/Users/Administrator/php/webroot1">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

Listen 82

NameVirtualHost ×:82

<VirtualHost *:82>

ServerName 127.0.0.1

DocumentRoot "C:/Users/Administrator/php/webroot2"

<Directory "C:/Users/Administrator/php/webroot2">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

这样设置完毕后,重新启动Apache,然后就可以在地址栏中输入localhost:81直接访问webroot1路径,localhost:82访问webroot2路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: