Apache 규칙은 다른 규칙에 의해 재정의됩니다.

Apache 규칙은 다른 규칙에 의해 재정의됩니다.

나는 다음을 통해 httpd.conf 파일의 .htaccess 파일을 차단했습니다: Requests Denied All

내 httpd.conf:

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf

User apache
Group apache

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/var/www/html"

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options -Indexes +FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ~ "^\.?ht(access|passwd)(\.dist)?">
    Require all denied
</Files>

IncludeOptional sites/*.conf

이것은 내 가상 호스트입니다.

<VirtualHost *:80>
        ServerName example.com

        DocumentRoot /var/www/site/

        <Location />
            AuthUserFile /etc/httpd/conf/passwd
            AuthName "ADMIN AREA"
            AuthType Basic
            require valid-user
            Order allow,deny
            Allow from 10.0.0.0/8
            satisfy any
        </Location>


        <Directory /var/www/site/>
                Options +FollowSymlinks -Multiviews
                AllowOverride all
                Require all granted
        </Directory>

</VirtualHost>

이제 위치 지시문을 사용하여 특정 IP 주소에만 액세스를 허용하거나 로그인 및 비밀번호를 사용하면 해당 주소가 .htaccess 파일에 액세스할 수 있습니다. 이 문제를 어떻게 해결할 수 있나요? 누구도 .htaccess를 볼 수 없습니다.

답변1

이전 지침과 새 지침을 함께 혼합하면 의도하지 않은 결과가 발생할 수 있습니다. 특히 는 mod_access_compat과 같은 작업을 처리하는 데 사용되며 새 지침보다 Order allow,deny우선합니다 . mod_authz_host바라보다2.4로 업그레이드.

관련 정보