ServerAlias url 转到错误的文件路径

ServerAlias url 转到错误的文件路径

我有一个旧的 Apache PHP 网站,目前正在升级。在此期间,我需要继续通过 URL“legacy.example.com”访问此网站

我已将 ServerAlias 条目添加到站点的 .conf 文件中。当我访问“https://legacy.example.com”时,系统指向了一个错误的文件夹,加载的是一个完全不同的站点,但仍然是我系统上的站点。但当我访问原始的“https://example.com”时,系统指向了正确的文件夹,站点加载正常。

它托管在 AWS EC2 实例上,域名 example.com 指向弹性 IP,而 legacy.example.com 指向 EC2 实例的配置公共 IP(弹性 iP 将很快移动到新站点,因此此时它将是错误的旧版 IP)

我有以下配置文件(除了添加 ServerAlias 之外,这个配置已经按原样工作了很长时间):

  <IfModule mod_ssl.c>
  <VirtualHost *:443>

    DocumentRoot "/path/to/sites/folder/www-root/"
    ServerName example.com # This address goes to the correct root folder
    ServerAlias legacy.example.com # This address goes to an incorrect folder

    ErrorLog   /path/to/error/log
    CustomLog  /path/to/access/log combined

    <Directory "/path/to/sites/folder">
      Options FollowSymLinks ExecCGI
      AllowOverride None
      Require all granted
    </Directory>

    SetEnv APP_ROOT "/path/to/sites/folder"

    php_value auto_prepend_file "/path/to/sites/folder/etc/bootstrap.php"
    php_value magic_quotes_gpc "0"
    php_value error_log "/path/to/sites/folder/log/php.log"

    # SSL setup
    SSLCertificateFile <stuff>
    SSLCertificateKeyFile <stuff>
    SSLCertificateChainFile <stuff>
  </VirtualHost>
</IfModule>  

据我所知,我的 Apache 配置文件中没有冲突:

我的 apachectl -S 输出:(端口 80 legacy.example.com 永久重定向到端口 443)

VirtualHost 配置:
*:443 是 NameVirtualHost
默认服务器 example.com (/etc/apache2/sites-enabled/example-ssl.conf:7)
端口 443 namevhost example.com (/etc/apache2/sites-enabled/example-ssl.conf:7)
别名 legacy.example.com
端口 443 namevhostwww.example.com(/etc/apache2/sites-enabled/www.example.com- ssl.conf:1)
*:80 是 NameVirtualHost
默认服务器 unrelatedsite.com (/etc/apache2/sites-enabled/unrelatedsite.com.conf:7)
端口 80 namevhost unrelatedsite.com (/etc/apache2/sites-enabled/unrelatedsite.com.conf:7)
端口 80 namevhostwww.unrelatedsite.com(/etc/apache2/sites-enabled/unrelatedsite.com.conf:25)
端口 80 namevhost legacy.example.com(/etc/apache2/sites-enabled/legacy.example.conf:6)
端口 80 namevhost example.com(/etc/apache2/sites-enabled/example.conf:6)
端口 80 namevhostwww.example.com(/etc/apache2/sites-enabled/www.example.conf:1)
ServerRoot:“/etc/apache2”
主 DocumentRoot:“/var/www”
主 ErrorLog:“/var/log/apache2/error.log” 互斥 ssl
-stapling:using_defaults
互斥 ssl-cache:using_defaults互斥默认值:dir="/var/lock/apache2" mechanism=fcntl 互斥 mpm-accept:using_defaults 互斥 watchdog-callback:using_defaults 互斥重写映射:using_defaults PidFile:“/var/run/apache2/apache2.pid” 定义:DUMP_VHOSTS 定义:DUMP_RUN_CFG 用户:name="www-data" id=## 组:name="www-data" id=##








为什么在给定相同配置文件的情况下,一个地址可能转到一个文件夹,而另一个地址可能转到另一个文件夹?

编辑:另一个奇怪的现象...当我访问 legacy.example.com 时,我看不到访问日志有任何变化。但是当我访问 example.com 时,我看到了变化。

相关内容