@rdmd2010

Почему не работает Require all granted например в Апаче 2.4.29?

Не пойму, то ли баг какой-то, то ли я что-то не учитываю

В папке /engine/modules/ стоит .htaccess

<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
   Order allow,deny
   Deny from all
</IfModule>


В моем модуле /engine/modules/mymodule/ стоит .htaccess

<Files ~ "(ajax\.php|\.css|\.js|\.jpg|\.jpeg|\.png|\.gif|\.svg|\.woff|\.woff2|\.ttf)$">
	# Apache 2.2
	<IfModule !authz_core_module>
		Order allow,deny
		Allow from all
	</IfModule>

	# Apache 2.4+
	<IfModule authz_core_module>
		Require all granted
	</IfModule>
</Files>


На версии 2.4.29 Апача (OSpanel) Require all granted - не работает, то есть не открывает доступ к файлам *.js, *.css и так далее - 403 ошибка. А уже на версии 2.4.54 - прекрасно работает, бред какой-то.

Такое ощущение что на 2.4.29 не поддерживается
Require all granted
так как если вместо этого правила поставить
Order allow,deny
Allow from all

то доступ к файлам открывается

Но так как правила Allow, Deny могут быть удалены в новых версиях Апача, необходимо все-таки решить вопрос - сделать универсальный htaccess для всех версий Апача. Была бы возможность типа такой дополнительной проверки

IFEXISTS RequireAll
Require all granted
ELSE
Order allow,deny
Allow from all
END

Причем при такой же проблеме на живом хостинге, хостер не нашел другого решения кроме как закомментировать содержимое первого .htaccess и добавить единственную строку
#<IfModule mod_authz_core.c>
#    Require all denied
#</IfModule>
#<IfModule !mod_authz_core.c>
#   Order allow,deny
#   Deny from all
#</IfModule>
deny from all


Помогите пожалуйста, заранее спасибо
  • Вопрос задан
  • 544 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы