나는 다음을 통해 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로 업그레이드.