如何在Windows Server的Apache 2.2上搭建两个独立站点?跳转异常求助
问题分析与修复方案
核心问题
你的配置中memberspage.com绑定在80端口,mysite2.com绑定在81端口,但浏览器访问域名默认使用80端口,导致访问mysite2.com时,Apache会匹配到第一个80端口的虚拟主机(即memberspage.com),从而出现跳转错误。同时需确保虚拟主机相关模块已正确启用。
修复步骤
1. 启用虚拟主机模块
打开httpd.conf,找到以下两行并去掉前面的注释符号#:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so #Include conf/extra/httpd-vhosts.conf
修改后:
LoadModule vhost_alias_module modules/mod_vhost_alias.so Include conf/extra/httpd-vhosts.conf
2. 调整虚拟主机配置(两种方案可选)
方案一:同端口基于域名区分(推荐)
两个站点共用80端口,通过域名识别,修改httpd-vhosts.conf:
# 配置默认虚拟主机(避免无匹配时跳转错误) <VirtualHost *:80> ServerName default DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default" <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin admin@gmail.com ServerName memberspage.com ServerAlias www.memberspage.com DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/memberspage.com/" <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/memberspage.com/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <IfModule mod_dir.c> DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm </IfModule> </VirtualHost> <VirtualHost *:80> ServerAdmin admin@gmail.com ServerName mysite2.com ServerAlias www.mysite2.com DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/mysite2.com/" <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/mysite2.com/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <IfModule mod_dir.c> DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm </IfModule> </VirtualHost>
注:Apache 2.2使用Order allow,deny+Allow from all配置权限,而非2.4版本的Require all granted,需替换你原配置中注释的权限行。
方案二:保留不同端口,访问时指定端口
若坚持使用不同端口,访问mysite2.com时需明确添加端口号:http://mysite2.com:81,同时确保Windows防火墙允许81端口通行。
3. 重启Apache服务
修改配置后,通过Apache服务管理器重启服务,使配置生效。
4. 测试访问
- 访问
http://memberspage.com,应打开对应站点 - 方案一访问
http://mysite2.com,方案二访问http://mysite2.com:81,应打开对应站点
内容的提问来源于stack exchange,提问作者luka
相关产品推荐
相关产品推荐

