You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:10:34