Apache2 遵守 www.example.org 规则,但不遵守 example.org 规则(仅在 HTTP 上)

Apache2 遵守 www.example.org 规则,但不遵守 example.org 规则(仅在 HTTP 上)

我遇到了 Apache 和 example.org 的一个奇怪的问题。

www.example.org 和 example.org 都指向同一个 IP 地址。

http://example.org-> Apache 默认页面 http://www.example.org->https://www.example.org

https://example.org重定向至https://www.example.org正确。

我不知道为什么http://example.org似乎不遵守 vhost 规则。

这是 vHost conf

<VirtualHost example.org:80 *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/var/www/exampleorg/httpdocs"
    ServerName www.example.org
    ServerAlias example.org
    <Directory "/var/www/example/httpdocs">
        Require all granted
        AllowOverride All
  </Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.org [OR]
RewriteCond %{SERVER_NAME} =www.example.org
RewriteRule ^ https://www.example.org%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

我试过了

<VirtualHost *:80>
<VirtualHost example.org:80 *:80>
<VirtualHost example.org:80>

我已尝试交换 ServerName 和 ServerAlias。

我已尝试将两者都添加到 ServerAlias。

我尝试过使用/不使用 hosts 文件中指定的地址。

我不想禁用默认页面,仍有许多域解析到该 IP - 我不希望它们显示 example.org 内容。

我已经没有什么可以尝试的了。有人能建议我下一步该去哪里吗?

答案1

简单使用重定向

<VirtualHost *:80> 
     ServerName example.org 
     ServerAlias www.example.org 
     Redirect / https://example.org/ 
</VirtualHost> 

相关内容