понедельник, 24 марта 2025 г.

Apache. Модуль mod_rewrite. Запрет обращения к определенному файлу через web

1. Проверяем, что включен модуль rewrite
# httpd -M | grep rewrite
В ответе должны увидеть:
rewrite_module (shared)


2. Необходимо разрешить использовать модуль rewrite в директории /var/www/html. Для этого в файле /etc/httpd/conf/httpd.conf в разделе <Directory "/var/www/html"> нужно заменить AllowOverride None на AllowOverride All
<Directory "/var/www/html">
    ...
    #AllowOverride None
    AllowOverride All
    ...
</Directory>


3. Чтобы убедиться, что mod_rewrite работает, создайте файл .htaccess в корневой директории веб-сервера (например, /var/www/html/.htaccess) с содержимым:
 RewriteEngine On
 RewriteRule ^test$ test.html [L]

Создайте файл test.html в той же директории с содержимым:
 <h1>Mod_rewrite works!</h1>
При обращении к серверу http://IP/test, должен открыться файл test.html

4. Для запрета к обращению к определенному файлу, например к файлу CONFIG.ini в .htaccess нужно прописать следующее:
<Files "CONFIG.ini">
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Files>

Тут мы запрещаем обращение с любых IP, кроме самого себя.


Комментариев нет:

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