.htaccess cgi perl -无效的命令'Deny',可能拼写错误或由服务器配置中未包含的模块定义

0mkxixxg  于 2022-11-16  发布在  Perl
关注(0)|答案(2)|浏览(211)

我在试着安排这个https://github.com/oprel/emanon但是每次我尝试运行post.cgi时,我都会在错误日志中收到此错误:

[Sat Jul 02 13:03:13.380647 2022]
/fs5d/9kun/public/board/.htaccess: Invalid command 'Deny', perhaps misspelled or 
defined by a module not included in the server configuration

“无效命令”来自.htaccess:

<FilesMatch "\.(txt|pm)$">
deny from all
</FilesMatch>

我应该怎么做?我用cgi运行apache。

eh57zj3b

eh57zj3b1#

我希望您使用Apache 2.4

<FilesMatch "\.(txt|pm)$">
deny from all
</FilesMatch>

Deny是Apache 2.2(及更早版本)指令,以前在Apache 2.4上已弃用,并已(从 base 模块)移至mod_access_compat(可选扩展)。此模块可能未启用,因此出现错误。
在Apache 2.4中,您应该使用相应的Require指令。例如:

Require all denied

参考编号:

  • https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
fdx2calv

fdx2calv2#

问题是您根本没有对语句排序,因此Apache不知道您是要拒绝还是允许它。

<FilesMatch "\.(txt|pm)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

相关问题