将某些 URL 的规则重写为 return 状态 200

Rewrite rule to return status 200 for certain URLs

我想要具有指向 return 自动 200 状态响应的特定路径的 URL。我尝试了以下方法,但是当我尝试启动 Apache 时出现错误:

第一个错误: RewriteCond:标志分隔符错误

RewriteEngine On
RewriteCond %{THE_REQUEST} GET /the_url/
RewriteRule ^ - [R=200]

如果删除路径部分,则不会收到错误消息:

RewriteEngine On
RewriteCond %{THE_REQUEST} GET
RewriteRule ^ - [R=200]

但是,当然,我需要一种方法来包含路径要求。

另一个错误是,即使服务器return上面的状态200(在开发者工具中验证),页面仍然显示错误消息: "OK The server encountered an internal error or misconfiguration and was unable to complete your request...." 这真的不是 return 状态 200 吗?或者是,但这就是服务器未提供任何内容时默认 HTML 页面的样子?

以下方法成功了。来自 https://httpd.apache.org/docs/2.4/custom-error.html

启用mod_rewrite模块

LoadModule rewrite_module modules/mod_rewrite.so

然后将以下内容添加到您的虚拟主机中。

ErrorDocument 200 "ok"
RewriteEngine On
RewriteRule "/the_url/" - [R=200]

编辑:

我原来的答案已经被其他人编辑了很多,以至于不再完全相同。我将保留编辑后的答案(上方),但我不必启用 mod_rewrite 模块。某些 Linux 发行版默认带有此功能,或者您的主机可能已将其作为默认起点提供。我将这三行添加到 httpd.conf.