You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04 Apache2安装Let's Encrypt后重定向过多如何解决?

解决Apache2 + Let's Encrypt 重定向过多问题

咱们先定位问题根源:这种重定向循环大概率是Let's Encrypt自动生成的SSL配置和你的.htaccess规则发生了冲突,或是HTTP/HTTPS、www/非www的重定向规则被重复定义了。下面一步步排查解决:

第一步:检查Apache的SSL配置文件(apache2-le-ssl.conf)

先打开这个自动生成的配置文件,看看里面有没有内置的重定向规则:

sudo nano /etc/apache2/sites-available/apache2-le-ssl.conf

重点找有没有类似这样的强制HTTPS重定向代码:

RewriteEngine on
RewriteCond %{SERVER_NAME} =yourdomain.com [OR]
RewriteCond %{SERVER_NAME} =www.yourdomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

如果这里已经有了HTTPS强制跳转,那你的.htaccess里就不能再重复加相同规则,否则会触发循环。

第二步:检查两个.htaccess文件的重定向规则

分别打开app/.htaccess和app/webroot/.htaccess,查找有没有重复的重定向代码,比如:

# 强制HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 强制www/非www跳转
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

要是Apache配置里已经有了HTTPS跳转,.htaccess里又重复添加,就会导致来回跳转的死循环。

第三步:统一重定向规则,消除冲突

根据你的需求,选一种方式统一配置,不要两边都加:

方式1:用Apache配置文件管理重定向(推荐)

如果apache2-le-ssl.conf里已经有了HTTPS重定向,直接把两个.htaccess里的HTTPS跳转规则删掉。如果需要统一www/非www域名,也在Apache配置里添加,比如强制跳转到www:
在apache2-le-ssl.conf的<VirtualHost *:443>代码块里加入:

# 强制跳转到www域名
RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301]

添加后重启Apache生效:

sudo systemctl restart apache2

方式2:用.htaccess管理重定向

如果想让.htaccess控制所有重定向,先把apache2-le-ssl.conf里的HTTPS重定向规则注释掉(在行首加#),然后在app/webroot/.htaccess里添加统一规则(只在一个.htaccess里加,不要两个都配置):

RewriteEngine On

# 先强制跳转HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 再统一域名(示例:非www转www)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

同样重启Apache让规则生效。

第四步:验证重定向是否正常

用浏览器访问你的域名(记得先清理浏览器缓存,因为301重定向会被缓存),或者用curl命令测试:

curl -I http://yourdomain.com

正常情况应该返回301 Moved Permanently,并跳转到你设置的目标域名(比如https://www.yourdomain.com),且不会出现多次跳转的提示。

额外注意:如果两个.htaccess里一个强制www、一个强制非www,也会触发循环,要确保所有重定向规则的目标一致。

内容的提问来源于stack exchange,提问作者Abhishek Sohu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:14:23