如果 URL 与 Apache 中的字符串匹配,如何避免重定向

如果 URL 与 Apache 中的字符串匹配,如何避免重定向

我有一个 Web 服务器,可以将任何 HTML 404 错误重定向到另一个域:

ErrorDocument 404 https://error domain

我的目标是在 Let's Encrypt 尝试更新证书时避免重定向。

所有 Let's Encrypt 挑战都以以下内容开始:/.well-known/acme-challenge/

我尝试过这个:

ErrorDocument 404 https:// error domain
RewriteEngine on
Redirect "/.well-known/acme-challenge/" "/.well-known/acme-challenge/"

但是我遇到了“重定向过多”的错误(我明白为什么... :/)。重要的是 Let's Encrypt 无需人工干预即可运行,临时修改 vitualhost 是被禁止的,为此我需要当 uri 以以下内容开头时:

/.well-known/acme-challenge/ ... etc-> 无重定向
/anotherstring/ ect..-> https://错误域名

我相信这能解决我的问题,因为如果我删除

ErrorDocument 404 https://error domain

然后 Let's Encrypt 更新就可以正常工作了。

答案1

<LocationMatch "!/\.well-known/acme-challenge/">
  ErrorDocument 404 https://error.domain
</LocationMatch>

相关内容