Я хотел бы разрешить пользователям посещать только index.php
(а также просто /
) на моем сервере и ничего больше (возврат 403, если действителен, и 404, если файл недействителен).
Как я могу это сделать? Я пробовал следующие решения
Отказ в доступе ко всем файлам кроме index.html apache
Запретить доступ ко всем файлам, кроме index.php, но разрешить доступ через «/» в файле htaccess
но они, кажется, не имеют никакого эффекта.
Мой файл .htaccess таков, но он не действует, и я все еще могу получить доступ к другим файлам на моем сервере:
Порядок разрешить, запретить
Запретить от всех
<Индекс сопоставления файлов\.php>
Разрешить от всех
</FilesMatch>
Я не уверен, нужно ли мне что-то определять в конфигурации моего виртуального хоста?
Мой файл виртуальных хостов:
Веб-мастер администратора сервера@localhost
имя_сервера server.mydomain.com
Псевдоним сервера server.mydomain.com
DocumentRoot /var/www/server.mydomain.com
DirectoryIndex index.php
Журнал ошибок ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log вместе
SSLCertificateFile /etc/letsencrypt/live/server.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/server.mydomain.com/privkey.pem
Включить /etc/letsencrypt/options-ssl-apache.conf
Вывод apache2ctl -S:
Конфигурация виртуального хоста:
*:443 server.mydomain.com (/etc/apache2/sites-enabled/server.mydomain.com-le-ssl.conf:2)
*:80 server.mydomain.com (/etc/apache2/sites-enabled/server.mydomain.com.conf:1)
Корневой сервер: "/etc/apache2"
Основной корневой документ: "/var/www/html"
Основной журнал ошибок: "/var/log/apache2/error.log"
Сшивание Mutex ssl: using_defaults
SSL-кэш Mutex: using_defaults
Мьютекс по умолчанию: dir="/var/run/apache2/" механизм=по умолчанию
Mutex mpm-accept: using_defaults
Обратный вызов сторожевого таймера Mutex: using_defaults
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Определить: DUMP_VHOSTS
Определить: DUMP_RUN_CFG
Пользователь: name="www-data" id=33
Группа: name="www-data" id=33