apache基于主机名的虚拟主机(一个ip对应多个域名,相同端口)

AndyYang| 阅读:481 发表时间:2012-07-13 20:15:00 apache
摘要:之前一直都是用一个虚拟目录。然后在host里面指一下。这个应该地球人都知道吧!还是画蛇添足的附一下代码

之前一直都是用一个虚拟目录。然后在host里面指一下。这个应该地球人都知道吧!

还是画蛇添足的附一下代码

1、进到 httpd.conf

DocumentRoot "D:/workspace"

<Directory "D:/workspace">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>

把 DocumentRoot 和 Directory 改成你自己的目录,我放在 D 盘的 workspace 目录下。 

2、在 hosts 底下添加:

127.0.0.1       www.yangsir.com

(前面写你自己的ip,这里是本地的ip,后面改成你想要用来访问的域名)

这样就可以通过 www.yangsir.com 来访问你的工作目录了。

然后有一天觉得应该搞多个目录测试比较方便一点。于是 baidu, 结果一大堆不是自己想要的。于是自己看手册,整理发出一个基于主机名的虚拟主机(一个ip对应多个域名,相同端口),自己测试已经通过的。

1、在 httpd.conf 中添加

<Directory "D:/workspace">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>

<Directory "D:/ceshi">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>

你想加几个目录就加几个。

2、在 httpd-vhosts.conf 中添加

NameVirtualHost *:80

<VirtualHost *:80>

  ServerName www.yangsir.com

  ServerAlias www.yangsir.com www.yangyang.com

  DocumentRoot "D:/workspace"

  AddDefaultCharset utf-8

</VirtualHost>

<VirtualHost *:80>

  ServerName www.ceshi.com 

  DocumentRoot "D:/ceshi"

  AddDefaultCharset utf-8

</VirtualHost>

这里也是同上面,想添加几个就添加几个,但DocumentRoot 要对应。 serverName 改成自己想要用来访问该工作目录的域名。其中第一个中的 ServerAlias 你可以用来添加额外的访问域名,通俗的讲,就是可以多个域名指向那个工作目录。这里让 www.yangsir.com 和 www.yangyang.com 都可以访问 workspace 目录。

3、还是加host,在 hosts 中

127.0.0.1       www.yangsir.com

127.0.0.1       www.yangyang.com

127.0.0.1       www.ceshi.com

这样,上面的两个域名就都可以访问 workspace 目录了,而 www.ceshi.com 则访问的是ceshi目录。

就这样,so easy! 遇问题还是要自己独立思考。

当然,我用的xampp的集成环境,配置文件放得可能不一样,但大概是这个原理咯,linux下其实也大同小异。以上仅基于主机名的虚拟主机(一个ip对应多个域名,相同端口)。

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:

已有0条评论

昵称:
邮箱:

  • 最新评论

若兰网 - www.rolan.wang
反馈
微信订阅号