Htaccess директивы: Директивы файла .htaccess — help.zone.eu

Содержание

Директивы файла .htaccess — help.zone.eu

Разрешение на отображение содержимого каталога
Options +Indexes

Запрет доступа к сайту с IP-адреса(-сов)

deny from 12.34.45.78 1.2.3.4

Запрет веб-доступа, кроме IP

order deny,allow
deny from all
allow from 12.34.56.78

Запрет веб-доступа конкретному 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. (.*)$ 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. proxy/(.*)$" "http://www.example.com/$1" [P,L]

NB! Запросы прокси могут выполняться только для HTTP-соединений, и для каждого запроса отправляется уведомление в лог ошибок веб-сервера.

Описание директив .htaccess

.htaccess — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), не предоставляя доступа к главному конфигурационному файлу, таких как управляемый доступ к каталогам, переназначение типов файлов и т. д.

Перенаправление (редирект)

На другой адрес

Redirect / http://www.example.com

При запросе определенных страниц

redirect /data http://www.expample.com/data

redirect /forum http://forum.example.com

По маске имени файла

Следующая строки определяют, что все запросы кроме запросов к файлам с расширениями . www.mydomain.com$ [NC]
RewriteRule (.*) http://mydomain.com/$1 [R=301]

Работает только при наличии mod_rewrite

Индексные страницы

Переопределение индексного файла

DirectoryIndex index.html index.php index.shtml

Запрет на отображение содержимого каталога при отсутствии индексного файла

Options -Indexes

Типы файлов

Изменение обработчика по типу файла

Пример переопределения HTML файлов для обработки их с помощью PHP

AddHandler application/x-httpd-php5 .php .htm .html .phtml

Обработка ошибок

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Кодировка

Отдаваемых файлов

AddDefaultCharset windows-1251

Загружаемых файлов

CharsetSourceEnc windows-1251

Управление доступом

Запрет доступа к файлам

Запрет доступа ко всем файлам и каталогам в текущем каталоге

deny from all

Запрет доступа к определенному файлу

deny from all

Запрет доступа к файлам по маске

deny from all

Спецсимволы для определения маски

? — любой одиночный символ * — любая последовательность символов, исключая символ / (слэш)
Запрет доступа к файлам по регулярному выражению

deny from all

Определение доступа по IP

order deny,allow
deny from all
allow from 192. 168.11.1

Строка order deny,allow определяет, в каком порядке следует выполнять директивы. Сначала выполняется директива запрета доступа, а затем разрешается доступ только для IP-адреса 192.168.11.1. Если в первой строке поменять порядок следования директив на order allow,deny, то доступ для данного IP-адреса не будет открыт, так как директива deny, выполняемая последней перекроет действия директивы allow.

Закрытие каталогов паролем

файл .htaccess

AuthName «Auth message»
AuthType Basic require [username2] … [usernameN]>
AuthUserFile «/full/path/to/.htpasswd»

Пароли хранятся в файле .htpasswd

Часто используемые директивы .htaccess — Справка IONOS

Для веб-хостинга Linux и управляемых выделенных серверов

Узнайте о некоторых часто используемых директивах .htaccess и их назначении.

Активировать список каталогов

Вы можете использовать список каталогов для отображения структуры папок и файлов вашего веб-пространства в браузере. Затем каждый посетитель может увидеть это снаружи. В целях безопасности мы по умолчанию отключили эту функцию на наших серверах. Вы можете включить его, добавив приведенный ниже код в файл .htaccess.

 # Активирует список каталогов (деактивирован по соображениям безопасности)
#
Опции +Индексы 

Отключить сопоставление файлов

 

При отключении функции CheckSpelling сервер не будет отображать список файлов, которые кажутся совпадающими со страницей с ошибкой, или автоматически загружать ближайшее совпадающее имя страницы.

 # Предотвращает обнаружение сервером орфографических ошибок или неправильных
# использование заглавных букв в именах файлов. Вместо этого показывает ошибку «страница не найдена»
# загрузки файла или страницы, которая наиболее точно соответствует написанию.
#
Проверить правописание 

Разрешить другие расширения файлов для приложений CGI

Если вы хотите запускать приложения CGI с расширениями файлов .

cgi или .asp, определите это с помощью следующей команды.

 # Позволяет запускать файлы с другими расширениями как CGI
#
AddHandler cgi-скрипт .cgi .asp 

Указание типа MIME для определенных типов файлов

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

 # Принудительно использовать тип MIME Microsoft Excel для всех файлов .csv.
# Затем файл открывается в Excel, а не в текстовом редакторе.
#
Приложение AddType/vnd.ms-excel.csv 

Активировать механизм перезаписи

Эта базовая функция необходима при создании правил перезаписи

 # Активировать механизм перезаписи
#
Переписать двигатель на 

Настройка правил перезаписи

Если вы хотите перенаправить вызов интернет-адреса (URL) другим заранее определенным способом, вы можете указать это с помощью RewriteRules.

9([a-z]+)\.html$ /index.php?$1 [R,L]

Использовать пользовательские страницы ошибок

Вы можете определить, какая страница должна отображаться для различных ошибок, таких как ошибка 404 СТРАНИЦА НЕ НАЙДЕНА.

 # Правило перезаписи для отображения страницы errordocument.html всякий раз, когда
# файл или папка не найдены, а также при следующих
# Возникают ошибки HTML: 400, 401, 403, 404 и 500
#
RewriteEngine включен
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи (.*) /errordocument.html

ErrorDocument 400 /errordocument.html
ErrorDocument 401 /errordocument.html
ErrorDocument 403 /errordocument.html
ErrorDocument 404 /errordocument.html
ErrorDocument 500 /errordocument.html 

Из-за настроек безопасности или подобных, мы оставляем за собой право в любое время полностью или частично перезаписать эти директивы или запретить их использование.


Использование директив PHP в пользовательских файлах .

htaccess Использование директив PHP в пользовательских файлах .htaccess

PHP позволяет вам контролировать многие аспекты вашего веб-сайта с помощью директив в файлах .htaccess . Узнайте о некоторых из этих директив здесь.

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

  • Настройки сообщения об ошибке PHP в файле .htaccess

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

  • Включение и отключение регистрации ошибок PHP с помощью файла .htaccess

    Вы можете использовать директивы log_errors и error_log в пользовательском файле .htaccess для настройки ведения журнала ошибок PHP, и в этой статье показано, как включать и отключать ведение журнала ошибок.

  • Установка часового пояса PHP в файле .htaccess

    По умолчанию серверы A2 Hosting настроены на использование восточного стандартного времени США. Узнайте, как изменить настройку часового пояса PHP с помощью директивы date.timezone в файле .htaccess для вашего веб-сайта здесь.

  • Установка максимального времени выполнения PHP в файле .htaccess

    По умолчанию максимальное время выполнения скриптов PHP установлено на 30 секунд, но вы можете изменить этот интервал с помощью директивы max_execution_time. В этой статье показано, как установить максимальное выполнение для PHP-скриптов.

  • Установка директивы register_globals в файле .htaccess

    Вы можете включать и отключать директиву register_globals в пользовательском файле .htaccess. Эта статья относится только к PHP 5.3 и более ранним версиям.

  • Установка директивы волшебных кавычек в файле .htaccess

    Вы можете включать и отключать директиву волшебных кавычек в пользовательском файле . htaccess. Эта статья относится только к PHP 5.3 и более ранним версиям.

  • Установка максимального размера загружаемого файла PHP в файле .htaccess

    Вы можете изменить максимальный размер загружаемого файла для PHP-скриптов, используя директивы upload_max_filesize и post_max_size в файле .htaccess.

  • Установка директивы PHP allow_url_fopen

    Большинство директив PHP можно установить в файле .htaccess. Однако директива allow_url_fopen — это особый случай. В этой статье показано, как настроить директиву PHP allow_url_fopen. Обратите внимание, что эта статья относится только к управляемым учетным записям VPS и выделенных серверов.

  • Установка лимита памяти PHP-скрипта в файле .htaccess

    По умолчанию ограничение памяти для сценариев PHP установлено на 128 мегабайт, но вы можете изменить это значение с помощью директивы memory_limit в пользовательском файле .htaccess.

  • Установка директивы max_input_vars в файле .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *