拒绝除Apache中的一个配置文件

时间:2015-04-27 16:16:40

标签: 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 requests from Apache 2.0-2.2.
    <IfModule !mod_authz_core.c>
        Deny from all
    </IfModule>
</Files>

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

1 个答案:

答案 0 :(得分:4)

你应该能够做到这一点

<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>

此外,您应该删除未使用的版本的指令。如果你使用2.4那么你不需要2.2指令。但是我离开了,因为你就是这样。