全部。我有语法问题。我尝试过遵循其他来源,但它不起作用。
我已成功创建无条件 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 中,但这也没有免除它。
快到了。我没有收到任何错误。它只是永远不会满足预期的条件。
我缺少什么?