在 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>
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>
相关文章推荐
- Apache httpd.conf配置文件 3(虚拟主机)
- apache开启虚拟主机功能与httpd-vhosts.conf 配置分享
- apache本地配置虚拟主机httpd-vhosts.conf常用
- Apache 虚拟主机 httpd.conf配置以实现指向项目名直接访问
- Apache配置虚拟主机httpd-vhosts.conf
- Apache配置虚拟主机httpd-vhosts.conf配置步骤
- apache开启虚拟主机与httpd-vhosts.conf配置
- apache开启虚拟主机功能与httpd-vhosts.conf 配置分享
- apache开启虚拟主机功能与httpd-vhosts.conf 配置
- apache虚拟主机的配置文件httpd-vhosts.conf
- apache 虚拟主机详细配置:http.conf配置详解
- IIS&Apache虚拟主机设置(主机头,一服多站)httpd.conf
- PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]
- WAMP下Apache配置httpd-vhosts虚拟主机多站点
- Apache建立IP-Based和Name-based虚拟主机--httpd-vhosts.conf的设置
- httpd.conf配置详解(配置虚拟主机/用户认证)
- Apache2.4.6添加虚拟主机提示:NameVirtualHost has no effect and will be removed in the next release /usr/local/apache/conf/extra/httpd-vhosts.conf
- Apache配置httpd-vhosts虚拟主机总结及注意事项
- 关于apache虚拟主机htttpd的配置实例 (更新中)
- Apache Web Server -> httpd 的虚拟主机的配置