что такое .htaccess и .htpasswd настройка – крутим все

Использование базовой проверки правописания url

# автоматически корректируем простые орфографические ошибки
<IfModule mod_speling.c>
CheckSpelling On
</IfModule>

[^/.]

– означает один символ, который не слеш и не точка.

[^/.]

– означает любое количество символов, которые не содержат слешей и точек.

[a-z]

– тире (-) между двумя символами в наборе символов ([]) означает диапазон символов между ними. например, [a-zA-Z] соответствует всем маленьким и большим буквам от a до z.

[e=variable:value]

– Переменные окружения: предписывает серверу установить значение переменной окружения “variable” на “value”.

[qsa]

– Добавить строку запроса: говорит серверу добавить строку запроса в конец выражения (URL).

[s=x]

– Пропустить: инструктирует сервер пропустить последующее “x” число правил если выявлено совпадение.

[t=mime-type]

– Тип Mime: объявляет тип mime целевого ресурса.

^domain.*

– означает строку, которая начинается на “domain”, после которого могут следовать любые символы.

A{n,}

– указывает на n или больше количество повторяющиеся символов. Например, x{3,} соответствует трём или более иксам.

A{n,m}

– устанавливает диапазон чисел между n и m предшествующего символа. Например, x{3,7} соответствует трём, четырём, пяти, шести или семи иксам.

Автоматическая кодировка utf-8

Ваш текстовый контент должен всегда быть закодирован в UTF-8, так?

# Использовать кодировку UTF-8 для всего на сервере text/plain или text/html
AddDefaultCharset utf-8

# Принудительно использовать UTF-8 для ряда форматов файлов
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Автоматически chmod различные типы файлов

# гарантируем CHMOD настройки для заданных типов файлов
# помните, никогда не устанавливайте CHMOD 777 если вы не знаете, что вы делаете
# файлы, которые требует доступа для записи, скорее должны быть CHMOD 766 нежели 777
# сохраняйте определённые файлы приватными, настроив их CHMOD на 400
chmod .htpasswd files 640
chmod .htaccess files 644
chmod php files 600

Активируем ssi для файловых типов html/shtml

# активировать SSI для HTML и или SHTML типов файлов
AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
AddHandler server-parsed .htm

Безопасность директорий по ip адресами и/или доменам

Все IP адреса разрешены, кроме 1.1.1.1 и vhod-v-lichnyj-kabinet.ru

# разрешить всё, кроме представленных ниже
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 1.1.1.1
deny from .*codeby.net.*
</Limit>

Все IP адреса отклоняются кроме 1.1.1.1 и vhod-v-lichnyj-kabinet.ru:

# отклонить все, кроме представленных ниже
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 1.1.1.1
allow from .*codeby.net.*
</Limit>

Блокировать посетителей по referrer (откуда пришли)

Этим мы закрываем доступ для всех пользователей, которые пришли от (были перенаправлены) с заданного домена.

Блокируем ip диапазон сокращённой записью адресов

# блокировать IP диапазон сокращённой записью адресов
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 10.0.0.1
deny from 10.0.0.*
deny from 10.0.*.*
deny from 10.*.*.*
</Limit>

Разрешаем IP диапазон сокращённой записью адресов:

# разрешить IP диапазон сокращённой записью адресов
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 10.0.0.1
allow from 10.0.0.*
allow from 10.0.*.*
allow from 10.*.*.*
</Limit>

Блокируем или пропускаем множество ip адресов на одной строке

Сохраним немного места блокировкой множества IP адресов или диапазонов на одной строке

# блокируем два уникальных IP адреса
deny from 10.0.0.1 10.0.0.2
# блокируем три диапазона IP адресов
deny from 10.1 10.1.1 10.1.2

Пропускаем много IP адресов или диапазонов на одной строке:

# разрешаем два уникальных IP адреса
allow from 10.0.0.1 10.0.0.2
# разрешаем три диапазона IP адресов
allow from 10.1 10.1.1 10.1.2

Важная информация для нубов в .htaccess

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

Включение allowoverride

Для улучшения производительности рекомендуется включать AllowOverride только в отдельной директории или директориях для которых это нужно. В следующем отрезке кода мы включаем привилегии AllowOverride только в заданной директории.

# включение привилегий allowoverride
<Directory /www/replace/this/with/actual/directory>
AllowOverride Options
</Directory>

Включение md5 digests

Примечание: включение этой опции может стать причиной относительного замедления производительности сервера

# включение MD5 digests через ContentDigest
ContentDigest On

Включение символьных ссылок

Включите символьные ссылки (symlinks) добавлением следующей директивы к файлу htaccess целевой директории. Примечание: для работы директивы FollowSymLinks должна быть включена опция AllowOverride в конфигурационном файле сервера.

# включение символьных ссылок
Options  FollowSymLinks

Включения базового переписывания

# включения базового переписывания
RewriteEngine on 

Выдаём разные файлы в зависимости от метода запроса

# сервер выдаёт различные файлы в зависимости от метода запроса
Script PUT /cgi-bin/upload.cgi
Script GET /cgi-bin/download.cgi

Выполнение различных скриптов через скрипт cgi

Для тех особых случаев, когда определенные типы файлов должны быть обработаны некоторыми конкретными скриптами CGI

# обработать все png через png-script.cgi
Action image/png /cgi-bin/png-script.cgi

Даём доступ cgi для конкретной директории

# дать CGI доступ для конкретной директории
Options  ExecCGI
AddHandler cgi-script cgi pl
# все скрипты в директории могут использовать следующее
SetHandler cgi-script

Задать время истечения заголовков

Время истечения заголовков скажут браузеру, нужно ли данный файл запросить от сервера или просто вытащить его из кэша. Рекомендуется для статичного контента установить время истечения заголовков на что-нибудь далёкое в будущем. Если вы не контролируете изменение версий с помощью перебора основанного на файлах, подумайте о том, чтобы уменьшить время кэша для ресурсов вроде CSS и JS до чего-нибудь вроде одной недели.

Закрываем доступ к каталогу в заданные периоды времени

# закрываем доступ в полуночь
RewriteCond %{TIME_HOUR} ^12$
RewriteRule ^.*$ - [F,L]
# предоставляем доступ во второй половине дня
RewriteCond %{TIME_HOUR} ^(12|13|14|15)$
RewriteRule ^.*$ - [F,L]

Запретить доступ для всех

## Apache 2.2
Deny from all

## Apache 2.4
Require all denied

Запретить доступ для всех, кроме вас

## Apache 2.2
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx

## Apache 2.4
Require all denied
Require ip xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx это ваш IP. Если вы замените последние три цифры, например, на 0/12, этим вы определите диапазон IP внутри этой сети, это оградит вас от проблемы перечислять по отдельности все разрешённые IP.

Запретить доступ к скрытым файлам и директориям

Скрытые файлы и директории (те, чьи имена начинаются с точки .) должны в большинстве, если не все, быть недоступны для других. Например к этим файлам относятся .htaccess, .htpasswd, .git, .hg…

RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)." - [F]

Как вариант, вы можете выдавать ошибку Not Found (не найдено), чтобы не давать атакующему подсказку:

RedirectMatch 404 /..*$

Запрещаем или разрешаем доступ к домену для определённого диапазона ip адресов

# блокируем диапазон IP по номеру CIDR
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 10.10.0.0/16
deny from 10.0.0.0/8
</Limit>

CIDR — Бесклассовая адресация

Подобным образом разрешаем диапазон IP по номеру CIDR:

# разрешаем диапазон IP по номеру CIDR
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 10.10.0.0/16
allow from 10.0.0.0/8
</Limit>

Защита директории пароолем

Для начала вам нужно где-нибудь создать файл .htpasswd:

htpasswd -c /home/fellowship/.htpasswd boromir

Затем вы можете использовать этот файл для аутентификации:

Защищаем каталоги отключением исполнения скриптов

Предотвращаем вредоносное мозголомство посредством запрещения выполнения скриптов в каталогах, для этого добавьте следующие правила в имеющийся файл htaccess (отредактируйте типы файлов под ваши нужды):

# защищаем каталоги отключением исполнения скриптов
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

Защищаем от атаки-в-обслуживании (dos) ограничением размера выгружаемого файла

# защищаемся от атаки DOS, ограничив размер выгружаемого файла
LimitRequestBody 10240000

Использование .htpasswd

Как ограничить доступ к каталогам сайта
Самый простой способ это сделать – использовать встроенную авторизацию веб-сервера apache. Для этого используется файл .htaccess c соответствующими
директивами для apache. В самом простом случае директивы должны быть такими:

Директива authuserfile задает путь к файлу, содержащему имена и пароли пользователей. Он может иметь практически любое имя и располагаться в любом каталоге,
главное – чтобы веб-сервер мог его прочитать, что требует установки соответствующих прав доступа к этому файлу (на нашем сервере – 644). Однако традиционно
такие файлы называют .htpasswd
При таком наборе директив доступ к каталогу получат все пользователи, перечисленные в .htpasswd. Чтобы дать доступ только некоторым из них, вместо require
valid-user нужно в .htaccess записать директиву require user список_имен_пользователей
где список_имен_пользователей имеет вид: имя_пользователя1 имя_пользователя2 имя_пользователя3…
Как создать файл .htpasswd
Хотя .htpasswd – это обычный текстовой файл, для работы с ним есть специальная утилита – ее вариант для unix называется htpasswd
Команда htpasswd -c .htpasswd имя_пользователя
создаст новый файл .htpasswd, запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в этом файле.

Как добавить или изменить запись о пользователе в .htpasswd
Команда htpasswd имя_файла имя_пользователя
запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в указаном файле или изменит пароль пользователя в уже
существующей записи.
Как удалить запись о пользователе из .htpasswd
Для этого достаточно открыть .htpasswd обычным текстовым редактором, найти и удалить строчку, начинающуюся с имя_пользователя:

Подскажите, пожалуйста, как я могу создать работающий файл .htpasswd ?

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

Чем в windows создавать файлы .htpasswd, чтобы они работали?
Создавать эти файлы лучше через скрипт.

1. Создать файл паролей, выполнив из скрипта команду
/usr/local/apache/bin/htpasswd -c -b passwordfile username password

где passwordfile это, например, /home/mydomainru/.htpasswd
usernanme и password соответственно имя пользователя и пароль

2. В директории, которую Вы паролируете, создать файл .htaccess

Коды заголовков перенаправления

301 – Перемещён навсегда

302 – Перемещён временно

403 – Запрещён

404 – Не найден

410 – Больше нет

Маскировка расширения файла

Этот метод будет маскировать все типы файлов (т. е. расширения файлов) и представлять их как .php файлы (или с любым другими расширением по вашему выбору):

Маскируем расширение скрипта

Для увеличения безопасности, маскируйте скриптовый язык, заменив действительное расширение скрипта на фальшивое по вашему выбору

Меняем дефолтную (по умолчанию) индексную страницу

Это правило говорит серверу найти и выдать “business.html” в качестве дефолтного индекса директории. Это правило должно быть в файле htaccess корневой директории для который вы хотите заменить индексный файл по умолчанию.

# выдаём альтернативную дефолтную индексную страницу
DirectoryIndex business.html

Это правило схожее, только в этом случае сервер будет сканировать корневую директорию на список файлов и выдаст первый из списка, который существует на сервере. Список читается слева направо:

# выдаём первую доступную альтернативу индексной страницы из ряда
DirectoryIndex filename.html index.cgi index.pl default.htm

Недостатки .htaccess

Контролировать Apache только главными файлами конфигурации сервера часто предпочтительно по причинам безопасности и производительности:

Обеспечиваем универсальный документ ошибки (universal error document)

# обеспечиваем универсальный документ ошибки
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /dir/error.php [L]

Объявляем особые/дополнительные типы mime

# добавляем различные типы mime
AddType application/x-shockwave-flash .swf
AddType video/x-flv .flv
AddType image/x-icon .ico

Ограничение доступа к локальной сети

# ограничиваем доступа к локальной сети
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.0.0/33
</Limit>

Отклонить доступ к резервным копиям и исходным кодам

Эти файлы могут быть оставлены некоторыми редакторами text/html (вроде Vi/Vim) и представляют огромную брешь в безопасности, если станут общедоступными.

Отключаем magic_quotes_gpc для серверов с php

# отключить magic_quotes_gpc для серверов с PHP
<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>

Отключаем подпись (сигнатуру) сервера

Здесь мы отключаем цифровую сигнатуру, которая в противном случае может служить для идентификации сервера.

# отключаем сигнатуру сервера
ServerSignature Off

Отключение etags

Удалив заголовок ETag, вы отключаете кэши и браузеры от возможности валидировать файлы, следовательно они будут вынуждены полагаться на ваши заголовки Cache-Control и Expires.

Отключение вставки ваших изображений на чужие сайты (хотлинкинг) для конкретных доменов

Иногда вы хотите отключить хотлинкинг только для некоторых плохих парней.

Отключение показа содержимого директорий

Options All -Indexes

Отключение показа ваших изображений (хотлинкинг) на других сайтах

Отключить internet explorer compatibility view

Просмотр в режиме совместимости в IE может оказать влияние на как отображаются некоторые сайты. Следующий сниппет должен принудить IE использовать движок Edge Rendering и отключить просмотр в режиме совместимости.

Переименование файла htaccess

Эта директива должна быть размещена в конфигурационном файле сервера, иначе она не будет работать

# переименовать файлы htaccess
AccessFileName ht.access

Переключение на другую версию php

Если у вас общий хостинг, есть шанс, что установлена более чем одна версия PHP, а иногда вам нужна конкретная версия для вашего веб-сайта. Следующий сниппет должен переключить PHP версию для вас

Перенаправление в .htaccess старых ссылок на новые страницы с помощью редиректа 301

Многие встречаются с проблемой изменения алиасов при переезде сайта на другой хостинг или смене дизайна сайта и соответственно сайт начинает терять позиции в поисковых системах так как из поиска вылетают проиндексированные страницы из за не доступности их по старым ссылкам.

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

Перенаправлять посетителей на временный сайт во время разработки сайта

# перенаправляем всех посетителей на альтернативный сайт, но сохраняем полный доступ для вас

ErrorDocument 403 
Order deny,allow
Deny from all
Allow from 10.0.0.1

Переписывание и перенаправление

Обратите внимание: Подразумевается, что у вас установлен и включен mod_rewrite.

Повышение производительности за счет сохранения полосы пропускания

Для повышения производительности на серверах с включённым PHP добавьте следующую директиву.

# повысить производительность за счет сохранения полосы пропускания
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

Повышение производительности через указание кодировки

Предотвратим определённую ошибку 500, указав кодировку по умолчанию. Примечание: замените “utf-8” на желаемую юкодировку.

# задаём кодировку по умолчанию
AddDefaultCharset utf-8

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

ErrorDocument 500 "Хьюстон, у нас проблема."
ErrorDocument 401 
ErrorDocument 404 /errors/halflife3.html

Предотвращаем доступ к .htaccess

Добавьте следующий блок кода в ваш файл htaccess для добавления дополнительного слоя безопасности. Любые попытки получить доступ к файлу будут приводить к сообщению об ошибке 403. Конечно, ваш первый уровень защиты файлов htaccess заключается в настройке параметров разрешения на файлы через CHMOD на 644.

# защищаем файл htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

Предотвращаем доступ к определённым файлам

Для ограничения доступа к определённым файлам, добавьте следующий блок кода и отредактируйте имя файла “file.txt”, заменив его на имя файла, который вы хотите защитить.

# prevent viewing of a specific file
<files file.txt>
order allow,deny
deny from all
</files>

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

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

Предотвращаем неавторизованный просмотр директорий

Закройте неавторизованный просмотр директории, указав серверу отвечать ошибкой “xxx Forbidden – Authorization Required” для любой запрос просмотра директории.

# отключение просмотра директорий
Options All -Indexes

Наоборот, для включения просмотра директорий, используйте следующую директиву:

# включение просмотра директорий
Options All  Indexes

Точно также это правило будет препятствовать просмотру содержимого папок на сервере:

# предотвращаем листинг каталогов
IndexIgnore *

Директива IndexIgnore может использоваться для предотвращения отображения выбранных типов файлов:

# не даём отображаться в каталогах выбранным типам файлов
IndexIgnore *.wmv *.mp4 *.avi *.etc

Предотвращение вставки сайта во фреймы

Это не даёт веб-сайту быть вставленным во фреймы (например, быть размещённым в теге iframe), хотя ещё разрешён фрейминг для особых URI.

SetEnvIf Request_URI "/starry-night" allow_framing=true
Header set X-Frame-Options SAMEORIGIN env=!allow_framing

Предотвращение загрузки

Иногда вы хотите принудить браузер отображать контент вместо его загрузки.

Преимущества .htaccess

  • Немедленные изменения — Поскольку файлы .htaccess читаются при каждом запросе, изменения, сделанные в этих файлах, имеют немедленный эффект — в отличие от главного конфигурационного файла, для которого требуется перезапуск сервера, чтобы новые строки возымели эффект.
  • Непривилегированные пользователи — Для серверов с множеством пользователей, часто желательно позволять индивидуальным пользователям использовать их собственную конфигурацию сайта. Использование файлов .htaccess позволяет такую индивидуализацию и для непривилегированных пользователей — поскольку не нужно изменять главные конфигурационные файлы сервера.

Принудительная загрузка

Иногда вы хотите, чтобы браузер загружал некий контент вместо отображения его.

Принудительное добавление слешей на конце адреса

RewriteCond %{REQUEST_URI} / [^.] $
RewriteRule ^(. [^/])$ %{REQUEST_URI}/ [R=301,L]

Псевдоним (алиас) для единичной директории

RewriteEngine On
RewriteRule ^source-directory/(.*) /target-directory/$1 [R=301,L]

Псевдоним (алиас) пути до скрипта

FallbackResource /index.fcgi

В этом примере приведён файл index.fcgi, который лежит в каталоге и все запросы к этому каталогу, которые потерпели неудачу из-за отсутствия файла/директории будут перенаправлены на скрипт index.fcgi. Это хорошо, если вы хотите, чтобы baz.foo/some/cool/path обрабатывался скриптом baz.foo/index.fcgi (который также поддерживает запросы на baz.foo) в тоже время поддерживается baz.foo/css/style.css и другое подобное. Узнать истинный путь можно из переменной окружения PATH_INFO, которая доступна в скриптах.

RewriteEngine On
RewriteRule ^$ index.fcgi/ [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

Это менее эффективная версия директивы FallbackResource (поскольку использование mod_rewrite сложнее, чем просто обработка директивой FallbackResource), но также и более гибкое.

Работа с изображениями webp

Если поддерживаются WebP и изображения с расширениями .webp и теми же именами найдены в том же месте где и изображения jpg/png, которые нужно отправить, то тогда вместо них отправляются изображения WebP.

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

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

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

Разрешаем только запросы get и put

# лимитируем серверные запросы методами GET и PUT
Options -ExecCGI -Indexes -All
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|HEAD) RewriteRule .* - [F]

Разрешить доступ для всех кроме спамеров

## Apache 2.2
Order deny,allow
Allow from all
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxy

## Apache 2.4
Require all granted
Require not ip xxx.xxx.xxx.xxx
Require not ip xxx.xxx.xxx.xxy

Разрешить междоменные шрифты

CDN-served webfonts не работают в Firefox или IE из-за CORS. Этот сниппет решает эту проблему.

Удаление слешей на конце адреса

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

Указываем браузеру загружать мультимедийные файлы, а не отображать их

# говорим браузеру загружать мультимедийные файлы
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
AddType application/octet-stream .wmv
AddType application/octet-stream .mp3

Указываем серверу отображать исходный код для динамических типов файлов

RemoveHandler cgi-script .pl .py .cgi

Улучшаем скорость сайта включением кеширования файлов

# кешируем изображения и флеш на один месяц
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# кешируем текстовые, css, и javascript файлы на одну неделю
<FilesMatch ".(js|css|pdf|txt)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# кешируем html и htm files на один день
<FilesMatch ".(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
# реализуем минимальное кеширование на время разработки сайта
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|js|css|pdf|swf|html|htm|txt)$">
Header set Cache-Control "max-age=5"
</FilesMatch>
# явно отключаем кеширование для скриптов и других динамических файлов
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
# альтернативной метод кеширования файлов
ExpiresActive On
ExpiresDefault A604800 # 1 неделя
ExpiresByType image/x-icon A2419200 # 1 месяц
ExpiresByType application/x-javascript A2419200 # 1 месяц
ExpiresByType text/css A2419200 # 1 месяц
ExpiresByType text/html A300 # 5 минут
# отключаем кеширование для скриптов и других динамических файлов
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
ExpiresActive Off
</FilesMatch>

* Конвертирование распространённых интервалов в секунды:

  • 300 = 5 минут
  • 2700 = 45 минут
  • 3600 = 1 час
  • 54000 = 15 часов
  • 86400 = 1 день
  • 518400 = 6 дней
  • 604800 = 1 неделя
  • 1814400 = 3 недели
  • 2419200 = 1 месяц
  • 26611200 = 11 месяцев
  • 29030400 = 1 year = никогда не истечёт

Улучшите производительность через allowoverride

# увеличить производительность отлючением allowoverride
AllowOverride None

Устанавливаем настройку кодировки и других заголовков без мета тегов

# отправляем язык тега и кодировку по умолчанию
AddType 'text/html; charset=UTF-8' html
AddDefaultCharset UTF-8
DefaultLanguage ru

Устанавливаем язык по умолчанию

Это простой способ настроить язык по умолчанию для страниц, обслуживаемых вашим сервером (отредактируйте язык, в соответствии с вашими требованиями)

# установить язык по умолчанию
DefaultLanguage ru

Установка адреса электронный почты администратора сервера

Задаём email по умолчанию для администратора сервера

Установка временной зоны сервера (timezone)

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

# установка временной зоны сервера
SetEnv TZ Europe/Moscow

Установка переменных php

php_value <key> <val>

# Например:
php_value upload_max_filesize 50M
php_value max_execution_time 240
Похожее:  Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 4. Конфигурация Kerberos и NTLM - Блог IT-KB

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

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