您的位置:首页 > 理论基础 > 计算机网络

在 Apache2.2.23 上通过 httpd.conf 配置虚拟主机 已更新

2012-12-04 10:54 776 查看
虚拟主机不要放在一个共同的端口,否则默认情况下只进入每一个虚拟主机目录。

ServerRoot "/var/lib/apache2.2"

DocumentRoot "/var/lib/apache2.2/htdocs"

ErrorLog "logs/error_log"

# apache 解析 .php 文件

<FilesMatch \.php$>

SetHandler application/x-httpd-php

</FilesMatch>

# myproject.com

Listen 192.168.55.9:80

<VirtualHost *:80>

DocumentRoot /var/lib/apache2.2/htdocs/myproject

ServerName myproject.com

# ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject/cgi-bin/"

</VirtualHost>

# myproject1.com

Listen 192.168.55.9:81

<VirtualHost *:81>

DocumentRoot /var/lib/apache2.2/htdocs/myproject1

ServerName myproject1.com

# ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject1/cgi-bin/"

</VirtualHost>

而我们在客户端的hosts文件里面也需要做IP映射,即:

192.168.55.9 myproject.com

192.168.55.9
myproject1.com

但是我们不需要在服务器端的hosts里面做IP映射。

实际上我们做请求时,还是用80端口来响应。

经测试,上面这种做法存在一个问题:即使是通过
myproject1.com 来访问,进入的还是 myproject.com


改为下面的可正常跳转:

ServerRoot "/var/lib/apache2.2"

DocumentRoot "/var/lib/apache2.2/htdocs"

ErrorLog "logs/error_log"

<FilesMatch \.php$>

SetHandler application/x-httpd-php

</FilesMatch>

NameVirtualHost *:80

Listen
192.168.55.9:80

# myproject.com

<VirtualHost *:80>

DocumentRoot /var/lib/apache2.2/htdocs/myproject

ServerName myproject.com

# ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject/cgi-bin/"

</VirtualHost>

#
myproject1.com

<VirtualHost *:80>

DocumentRoot /var/lib/apache2.2/htdocs/myproject1

ServerName myproject1.com

# ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject1/cgi-bin/"

</VirtualHost>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: