小编Rob*_*gas的帖子

Apache 有条件地将 HTTP 重定向到 HTTPS

全部。我有语法问题。我尝试过遵循其他来源,但它不起作用。

我已成功创建无条件 HTTP 到 HTTPS 重定向。访问http://www.robjvargas.com,以 HTTPS 结束。那里一切都很好。

但现在我的证书似乎需要HTTP。它使用 Let's Encrypt,因此需要每 90 天更新一次。重定向生效后,试运行会失败。关闭重定向后,试运行就会成功。

所以我尝试放入 RewriteCond 来免除证书续订流量:

# HTTP to HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{Request_URI} !^./acme-challenge/*
RewriteRule (.*) https://www.robjvargas.com$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

只是它不起作用。我想我错过了一些值得我一看到就拍额头的东西,但我没有看到它。通过上面的代码,HTTP 到 HTTPS 的重定向似乎仍然是通用的。因此,显然 RewriteCond 是不正确的。URI 之前的句点可能是错误的,但我已经尝试过使用和不使用它。

我还将完整的 URI 放入 RewriteCond 中,但这也没有免除它。

快到了。我没有收到任何错误。它只是永远不会满足预期的条件。

我缺少什么?

http httpd.conf redirect apache-2.4

8
推荐指数
1
解决办法
7338
查看次数

标签 统计

apache-2.4 ×1

http ×1

httpd.conf ×1

redirect ×1