我希望具有特定路径的 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 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]
EDIT:
我原来的答案已经被其他人编辑了太多,不再完全相同。我将保留编辑后的答案(上面),但我不必启用 mod_rewrite 模块。某些 Linux 发行版默认附带此选项,或者您的主机可能已将其作为默认起点提供。我将这三行添加到 httpd.conf 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)