Я пытаюсь настроить сервер с помощью Apache. В файл conf я вставил код:
<Directory />
Options FollowSymLinks
AllowOverride AuthConfig
AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile C:\...\serverpass.txt
Require user Admin
</Directory>
Чтобы попытаться заставить Apache потребовать пароль. Я создал имя пользователя и пароль с помощью htpasswd -c. Когда я попал на localhost, он не запрашивает у меня имя пользователя и пароль?
Вы перезапустили веб-сервер apache ПОСЛЕ внесения этих изменений?
Кроме того, проверяли ли вы наличие конфликтующих директив в httpd.conf и всех его включаемых файлах. Помните, что последняя обнаруженная переопределяющая директива (и более конкретные директивы) побеждает в игре и используется.
/
не путь в Windows, поэтому <Directory />
ничего не будет делать.
Рассмотрите возможность использования <Location />
или <Directory c:/path/to/webroot/>
?
Попробуйте использовать "/" в качестве разделителя пути, а не типичный для Windows "\".
Как это говорит в документах Apache:
Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows, а не Unix. Однако, поскольку Apache может интерпретировать обратную косую черту как последовательность «escape-символа», вы должны постоянно использовать косую черту в именах путей, а не обратную косую черту. Можно использовать буквы дисков; если он опущен, диск директивы SystemRoot (или параметра командной строки -d) становится диском по умолчанию.
<Directory />
/ Здесь следует заменить на конкретный каталог, в котором вы ищете аутентификацию. Измените его и перезапустите веб-сервер.
После этого он работает.