Рейтинг:1

Apache: управление доступом через .htaccess не работает

флаг cn

Уже несколько часов я пытаюсь создать рабочий .htaccess файл, который запрещает доступ ко всем файлам, за исключением нескольких файлов и папок.

Но всякий раз, когда я пишу Разрешить от всех в моем .htaccess файл в прямом подкаталоге моей корневой папки /срв/www/htdocs/, он просто говорит "Ошибка сервера!" конец. Во вложении отправляю вам свой текущий httpd.conf и `default-server.conf.

Моя система:

ОС: openSUSE Tumbleweed x86_64 
Хост: 20XXS00100 ThinkPad X1 Carbon Gen 9 
Ядро: 5.13.13-1-по умолчанию 
Время работы: 12 часов 14 минут 
Пакеты: 5771 (об/мин), 8 (защелка) 
Оболочка: bash 5.1.8 
Разрешение: 1920x1200 
Немецкий: Плазма 5.22.4 
ВМ: KWin 
Тема: Breeze Dark [Plasma], Breeze [GTK2/3] 
Иконки: [Плазма], бриз-темный [GTK2/3] 
Терминал: консоль 
Процессор: Intel i7-1165G7 (8) 11-го поколения с тактовой частотой 4,700 ГГц 
Графический процессор: Intel TigerLake-LP GT2 [Iris Xe Graphics] 
Память: 5945МБ / 31820МБ

Если вы можете помочь мне с этим, я был бы очень благодарен!

default-server.conf: https://www.opensuse-forum.de/wcf/attachment/15371-default-server-conf-txt/

httpd.conf: https://www.opensuse-forum.de/wcf/attachment/15372-httpd-conf-txt/

vidarlo avatar
флаг ar
Что показывает журнал? Всякий раз, когда вы видите сообщение об ошибке сервера, проверьте свои журналы.
João Alves avatar
флаг ro
Эта конфигурация («Разрешить от всех») является устаревшей и может использоваться только в том случае, если загружен «mod_access_compat». Либо преобразуйте выражение в новый формат «Require...», либо загрузите указанный модуль.
флаг kz
Как вы _блокировали_ доступ к родительскому(?) файлу `.htaccess`? (Я бы предположил, что вы получите аналогичный ответ/ошибку?)
levi-jcbs avatar
флаг cn
@MrWhite Нет, в родительском каталоге нет ошибки.
флаг kz
Вы не против показать содержимое вашего корневого (родительского) файла `.htaccess`? В нынешнем виде наиболее вероятная причина (и решение) указана Жоао Алвесом выше. Просто добавьте, что вы не должны смешивать старые и новые директивы auth/access. В Apache 2.4 вы должны использовать новые директивы `Require`, но вы должны преобразовать _все_ экземпляры в новую версию. Опубликованная вами конфигурация сервера заключает все директивы авторизации в условные выражения, поэтому обе «работают» без ошибок.
Рейтинг:1
флаг cn

Я должен использовать директиву «Требовать», тогда она работает.

Благодаря @MrWhite

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.