我希望具有特定路径的URL返回自动200状态响应.我尝试过以下操作,但在尝试启动Apache时遇到错误:
第一个错误: RewriteCond:坏标记分隔符
RewriteEngine On
RewriteCond %{THE_REQUEST} GET /the_url/
RewriteRule ^ - [R=200]
Run Code Online (Sandbox Code Playgroud)
如果我删除路径部分,那么我没有得到错误:
RewriteEngine On
RewriteCond %{THE_REQUEST} GET
RewriteRule ^ - [R=200]
Run Code Online (Sandbox Code Playgroud)
但是,当然,我需要一种方法来包含路径要求.
另一个错误是,即使服务器确实返回上面的状态200(在开发人员工具中验证),该页面仍然显示错误消息:"确定服务器遇到内部错误或配置错误,无法完成您的请求.. .."它真的没有返回200状态?或者是它,但这只是服务器提供什么时默认的HTML页面?
use*_*003 11
以下是诀窍.来自https://httpd.apache.org/docs/2.4/custom-error.html
启用mod_rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so
Run Code Online (Sandbox Code Playgroud)
然后将以下内容添加到虚拟主机.
ErrorDocument 200 "ok"
RewriteEngine On
RewriteRule "/the_url/" - [R=200]
Run Code Online (Sandbox Code Playgroud)
编辑:
我的原始答案已被其他人编辑得太多,以至于它已不再完全相同.我将保留编辑的答案(上图),但我没有启用mod_rewrite模块.默认情况下,某些Linux发行版附带此功能,或者您的主机可能已将其作为默认起点提供.我将这三行添加到httpd.conf中.
| 归档时间: |
|
| 查看次数: |
4318 次 |
| 最近记录: |