Разрешение на отображение содержимого каталога
Options +Indexes
Запрет доступа к сайту с IP-адреса(-сов)
<RequireAll> Require all granted Require not ip 1.2.3.4 Require not ip 12.34.56.78 </RequireAll>
Запрет веб-доступа, кроме IP
Require ip 1.2.3.4
Запрет веб-доступа конкретному USER_AGENT (боту)
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} BadBot RewriteRule .* - [F]
Запрет веб-доступа нескольким USER_AGENT
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} BadBot [OR] RewriteCond %{HTTP_USER_AGENT} BadScanner [OR] RewriteCond %{HTTP_USER_AGENT} Fraud RewriteRule .* - [F]
Запрет доступа к конкретному файл
<Files "denied.php"> Order Allow,Deny Deny from all </Files>
Простое перенаправление
# Переадресация главного домена Redirect 301 / https://www.example.ee/ # Перенаправление просроченной ссылки Redirect 301 /expired-page https://www.example.ee/new-page
Перенаправление страницы на новый домен
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R=301,L]
Перенаправление сайта с домена без www на домен с www
RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.ee$ [NC] RewriteRule (.*) https://www.example.ee/$1 [NC,R=301,L]
или:
RewriteEngine on RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
Перенаправление сайта с домена с www на домен без www
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.ee$ [NC] RewriteRule (.*) https://example.ee/$1 [NC,R=301,L]
или:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [NC,R=301,L]
Разрешение определенных ресурсов (font, svg, css и т.п файлов) с другого домена, отличного от сервера. (Cross-Origin Resource Sharing (CORS))
<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg|font.css|css|js)$"> Header set Access-Control-Allow-Origin "https://www.example.ee" </FilesMatch> </IfModule>
HSTS, Content Security Policy и прочие связанные с безопасностью заголовки
<IfModule mod_headers.c> Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;preload" env=HTTPS Header set X-Frame-Options "DENY" Header set Content-Security-Policy "default-src https:; script-src https: 'unsafe-inline'; style-src https:'unsafe-inline'" Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options nosniff </IfModule>
Разрешение доступа только с IP Эстонии
order deny,allow deny from all allow from env=DZSP_IS_ESTONIAN_IP
Разрешение доступа с IP адресов Европы
SetEnvIf MM_COUNTRY_CODE ^(AT|BE|BG|CZ|CY|DE|DK|EE|EL|ES|FI|FR|HR|HU|IE|IT|LT|LU|LV|MT|NL|PL|PT|RO|SE|SI|SK) EUROLIIT order deny,allow deny from all allow from env=EUROLIIT
Запрет веб-доступа для конкретной страны, например Китай (CN)
SetEnvIf MM_COUNTRY_CODE ^(CN) ЗаблокированнаяСтрана Deny from env=ЗаблокированнаяСтрана
Перенаправление пользователей конкретной страны (Финляндия) на новый домен
SetEnvIf MM_COUNTRY_CODE ^(FI) FINLAND RewriteCond %{ENV:FINLAND} ^1$ RewriteRule .* http://www.example.fi%{REQUEST_URI} [R=301,L]
На серверах используется база данных GeoLite2, которая создана MaxMind и которую можно скачать по адресу https://www.maxmind.com.
Режим технического обслуживания – временное перенаправление всех запросов на страницу обслуживания
# При необходимости добавить до RewriteRule ссылки, которые должны иметь доступ # Добавить IP адрес своего интернет провайдера RewriteCond %{REQUEST_URI} !/hooldus.html [NC] RewriteCond %{REQUEST_URI} !/hooldus\.css [NC] RewriteCond %{REQUEST_URI} !/hooldus\.jpg [NC] RewriteCond %{REMOTE_ADDR} !90\.100\.100\.100 RewriteRule .* https://example.ee/maintenancepage.html [L]
Запрет запуска PHP для предупреждения проблем безопасности
Options -ExecCGI RemoveType .php .php3 .phtml .inc RemoveHandler .php .php3 .phtml .inc <FilesMatch "\.(?i:php|php3|phtml|inc)$"> Require all denied </FilesMatch> <IfModule mod_php7.c> php_flag engine off </IfModule>
Использование Rewrite прокси
Например отображение содержимого подкаталога sinudomeen.ee/proxy/ на домене example.com
RewriteRule "^proxy/(.*)$" "http://www.example.com/$1" [P,L]
NB! Запросы прокси могут выполняться только для HTTP-соединений, и для каждого запроса отправляется уведомление в лог ошибок веб-сервера.