gpt4 book ai didi

apache - mod_headers 模块不加载,尽管它在 httpd.conf 中启用

转载 作者:行者123 更新时间:2023-12-05 06:45:47 48 4
gpt4 key购买 nike

我需要 mod_headers根据 GET 参数强制下载文件。

  <FilesMatch "*.gif">
<If "%{QUERY_STRING} =~ /dl/">
#Download header
Header set Content-Disposition "attachment"
</If>
</FilesMatch>

上面的代码会产生错误 500。但是,如果我将它正确包装在 <IfModule> 中,它根本不做任何事情:

<IfModule mod_headers>
<FilesMatch "*.gif">
<If "%{QUERY_STRING} =~ /dl/">
Header set Content-Disposition "attachment"
</If>
</FilesMatch>
</IfModule>

这让我觉得 mod_headers根本没有加载。但我在 httpd.conf 中启用了它:

...
LoadModule filter_module modules/mod_filter.so
LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
...

是否有任何调试日志可以找出哪些模组已加载,哪些未加载?

最佳答案

您需要检查 mod_headers.c模块:

<IfModule mod_headers.c>

(参见 this answer 关于 .so/.c 的内容)

但是您收到 500 错误的原因是双重的。

首先,<FilesMatch> container 需要一个正则表达式,而“*.gif”不是一个有效的正则表达式。您可能只想使用 <Files>容器。

二、<If>在 apache 2.2 中不可用,只有 2.4 版。如果您不使用 apache 2.4,那么您将无法使用 <If>容器。

关于apache - mod_headers 模块不加载,尽管它在 httpd.conf 中启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295763/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com