小编典典

apache从非www重定向到www

all

我有一个网站似乎没有从非 www 重定向到 www。

我的 Apache 配置如下:

RewriteEngine On
### re-direct to www
RewriteCond %{http_host} !^www.example.com [nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc]

我错过了什么?


阅读 63

收藏
2022-06-10

共1个答案

小编典典

使用重写引擎是解决这个问题的一种非常重量级的方法。这是一个更简单的解决方案:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    # real server configuration
</VirtualHost>

然后您将有另一个<VirtualHost>部分ServerName www.example.com用于您的真实服务器配置。/Apache在使用Redirect指令之后自动保留任何内容,这是一个常见的误解,即为什么这种方法不起作用(实际上它起作用)。

2022-06-10