【问题标题】:Apache 2.4 htaccess - check if request header is present - old SO answers failApache 2.4 htaccess - 检查请求标头是否存在 - 旧的 SO 答案失败
【发布时间】:2018-02-04 01:54:00
【问题描述】:

在将请求交给指定的请求处理程序之前,我有一些 .htaccess 配置指令用作“飞行前”检查。我尝试了许多不同的方法来解决这个问题,但由于与 Apache 版本不一致,许多答案根本不起作用。

相关的.htaccess代码:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP:Accept} !^$
    RewriteRule ^ - [R=505,L]
</ifModule>


相关请求标头:

Accept:text/html,application/xhtml+xml,  ...


服务器响应:

Status Code:505 HTTP Version Not Supported


结论:
我的情况有问题:
RewriteCond %{HTTP:Accept} !^$

非常感谢您的帮助,谢谢。

【问题讨论】:

    标签: .htaccess apache2.4


    【解决方案1】:

    顺便说一句,如果我能解决这个问题,我上次检查了一次;事实证明,Apache 2.4 将此特定标头识别为:HTTP_X_Accept

    因此,对于面临同样问题的任何人,当您在谷歌 0 结果(是的,我检查过) - 这是有效的(在问题中所述的上下文中) ):

    RewriteCond %{HTTP_X_Accept} !^$
    

    【讨论】:

    • 如果有一个像[AND] 子句这样的全面适用的解决方案会很好吗? - 我不知道该怎么做,请随时编辑此答案,或在评论中提出建议,我会更新,谢谢。
    猜你喜欢
    • 2018-07-01
    • 2016-04-13
    • 2022-12-29
    • 2021-04-10
    • 2023-01-08
    • 2016-03-03
    • 2021-12-30
    • 2012-10-30
    • 2016-11-25
    相关资源
    最近更新 更多