尝试将非 www 重定向到 www 时出现 err_too_many_redirects

尝试将非 www 重定向到 www 时出现 err_too_many_redirects

virtuahost apache conf 文件内部 /etc/apache2/sites-available/000-default.conf

我尝试将这些代码放入 apache conf 文件中

ServerName example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^/(.*)$ http://www.example.com/$1 [L,R=301]

我也尝试过,

< If "%{HTTP_HOST} != 'YOUR-DOMAIN.com'">
Redirect "/" "http://www.YOUR-DOMAIN.com/"
</If>

也做了这个

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

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

答案1

您的最后一个代码块应该已经 100% 发挥作用了。

正如@HBrujin 评论的那样,这看起来像是初始重定向错误导致的缓存错误。

我建议您尝试使用带有网络工具的 Google Chrome,这样您就可以在禁用所有缓存的情况下加载页面。

只需检查您的页面并导航到“网络”选项卡。选中禁用缓存复选框,然后使用您的 3d 代码块重新加载您的页面。它应该可以工作。

您可以检查文章中还介绍了如何清除所有浏览器的缓存。

相关内容