apache - 重写规则以返回某些 URL 的状态 200

标签 apache httpd.conf

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

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

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

如果我删除路径部分,那么我不会收到错误:
RewriteEngine On
RewriteCond %{THE_REQUEST} GET
RewriteRule ^ - [R=200]

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

另一个错误是 也就是说,即使服务器确实返回了上述状态 200(已在开发人员工具中验证),页面仍然显示错误消息:“确定服务器遇到内部错误或配置错误,无法完成您的请求....”它不是真的返回状态 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。

关于apache - 重写规则以返回某些 URL 的状态 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48140246/

相关文章:

security - 重写规则以隐藏 URL

linux - Apache版本升级问题

tomcat - 无法找到 Tomcat 5.5.27 的 httpd.conf

svn - VisualSVN Server 的缩短 URL 会破坏浏览器对存储库的访问

apache - 在 Apache 上强制使用 SSL,使用 Auth 和 Canonical 重定向

apache - 使用 PHP 的 .htaccess 进行 URL 重写

apache - 在 Apache 下的 FastCGI 中使用 Catalyst 进行调度

xml - 使用 Tika 从 xml 中提取完整内容

php - 如何在 AMAZON EC2 中编辑 httpd.conf 文件

apache - LimitRequestFieldSize 在 Apache 2.4 中不起作用