拒绝所有配置文件,Apache中的配置文件除外

拒绝所有配置文件,Apache中的配置文件除外,apache,.htaccess,Apache,.htaccess,我在我的.htaccess中有以下程序块来拒绝下载配置文件 # Disables download of configuration <Files ~ "\.(tpl|yml|ini)$"> # Deny all requests from Apache 2.4+. <IfModule mod_authz_core.c> Require all denied </IfModule> # Deny all r

我在我的
.htaccess
中有以下程序块来拒绝下载配置文件

# Disables download of configuration
<Files ~ "\.(tpl|yml|ini)$">
    # Deny all requests from Apache 2.4+.
    <IfModule mod_authz_core.c>
          Require all denied
    </IfModule>

    # Deny all requests from Apache 2.0-2.2.
    <IfModule !mod_authz_core.c>
        Deny from all
    </IfModule>
</Files>
#禁用配置下载
#拒绝来自Apache 2.4+的所有请求。
要求全部拒绝
#拒绝来自Apache 2.0-2.2的所有请求。
全盘否定

但是如何允许所有名为
swagger.yml
的文件?

您应该能够做到这一点

<Files ~ "\.(tpl|yml|ini)$">
    # Deny all requests from Apache 2.4+.
    <IfModule mod_authz_core.c>
          Require all denied
    </IfModule>
    # Deny all requests from Apache 2.0-2.2.
    <IfModule !mod_authz_core.c>
        Deny from all
    </IfModule>
</Files>

<FilesMatch "swagger\.yml$">
       <IfModule mod_authz_core.c>
          Require all granted
       </IfModule>
       <IfModule !mod_authz_core.c>
        Allow from all
    </IfModule>
</FilesMatch>

#拒绝来自Apache 2.4+的所有请求。
要求全部拒绝
#拒绝来自Apache 2.0-2.2的所有请求。
全盘否定
要求所有授权
通融

此外,还应删除不使用的版本的指令。如果您使用的是2.4,那么不需要2.2指令。但是我把它留下了,因为你就是这样拥有它的

您使用的是Apache2.4还是2.2。你不能两者都用。取决于哪一个,还有其他答案。谢谢就像魅力一样。我无意中发现了
要求所有已授予的
。2.4的配置目前对我来说还不太清楚。是的,不幸的是,这应该支持两个版本。