Apache2 不会将非 www 重定向到 www

Apache2 doesnt redirect non-www to www

我有一个 apache2 服务于一个应用程序,它在 www.domain.co.uk 上运行良好,但是当转到 domain.co.uk(非 www)时,它不会重定向流量。我在我的 .conf 文件中添加了一个重定向,但它仍然不起作用。见下文:

<VirtualHost *:80>
    ServerName domain.co.uk
    Redirect permanent / http://www.domain.co.uk/
</VirtualHost>
<VirtualHost *:80>
    ServerName www.domain.co.uk
    ServerAlias domain.co.uk
    # Actual server configuration
</VirtualHost>

有谁知道如何将非 www 流量重定向到 www(或修复我的配置!)?

您有两个独立的配置捕获区域 domain.co.uk - 一个在重定向中,另一个(通过您使用 ServerAlias)在提供内容的配置中。第二次捕获覆盖第一次。

要解决此问题,只需删除以下行:

ServerAlias domain.co.uk

并重新启动 Apache。