Как создать файл.htaccess и несколько полезных кодов. Как создать и правильно настроить файл htaccess? Установка пароля для доступа к папке

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

Проблема

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

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

2. Первый случай, но только у вас показываются расширения файлов и вы меняете "Новый текстовый документ.txt" на ".htaccess". Появляется такая ошибка.

Как же все-таки создать этот файл?

Решение

1. Вы можете просто скачать готовый htaccess . Например, для CMS wordpess можно скачать по ссылке . Если у вас система управления контентом другая, то можете просто удалить все содержимое файла и настроить под себя. Также можно скачать пустой htaccess.

134байт Количество загрузок: 266

2. Создать htaccess можно в файловом менеджере , который вы используете для связи с хостингом (сервером), например, WinSCP. New -> File

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

При поддержке .

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

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

И почему этот.htaccess такой особенный?

Профессиональные веб-разработчики отдают предпочтение использованию именно этого файла для настройки основных параметров веб-сервисов. Почему? Да потому что это мощный инструмент для установки дополнительной конфигурации на различных серверах (Denwer, Apache и других).

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

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

Пускай это и тривиально, но все-таки для предотвращения возможных вопросов я хочу добавить, что.htaccess отлично функционирует в любой операционной системе. Вы можете создать конфигурационный файл через любой на своем компьютере. Например, в Windows это «Блокнот», в Mac OS это «TextEdit», в Ubuntu – «Gedit» и т.д.

Каким образом можно создать чудо-файл конфигураций

На самом деле.htaccess создается достаточно просто. Порядок действий я перечислил чуть ниже. Не спешите самостоятельно оперировать командами, а первый раз аккуратно и по порядку выполните каждое действие. В зависимости от редактора, название действий могут несколько отличаться.


Важные команды

Вот мы и подошли к самому интересному! Первоочередным правилом, которое стоит прописать, это кодировка. Для этого существует вот такая строка:

AddDefaultCharset UTF-8

Если необходимо указать другой вариант кодировки, то ее название вставьте вместо UTF-8.

Еще одна супер-команда – это редирект. Благодаря.htaccess можно легко и быстро установить redirect 301, который позволяет перенаправлять пользователей на другие ссылки, склеивать доменные имена независимо от того есть www или нет.

Так следующие строки кода направят юзеров на сайт coolWeb.com вне зависимости от того есть ли www или нет, а также указана ли в ссылке стартовая страница (coolWeb.com/index.html) или нет.

RewriteEngine on RewriteCond %{ HTTP_REFERER}! ^$ RewriteCond %{ HTTP_REFERER}! ^http://(www\.)? coolWeb.com /.*$ RewriteRule \. (gif|jpg|js|css)$ - [F]

После выполнения данных правил вместо изображений на чужих сайтах будет отображаться сообщение об ошибке (403).

Подведение итогов

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

Для упрощения жизни девелоперам были созданы онлайн-генераторы кода для таких конфигурационных документов. В качестве примера можете ознакомиться с сайтом http://htaccess.ru/generator/ . Сгенерированными правилами можно оперировать и для настройки сайтов, написанных на движках. Таким образом, их можно использовать для WordPress, OpenCard, Joomla! и других.

Надеюсь, вам понравился изложенный мною материал. Жду от вас заявок на подписку. Обязательно делитесь ссылкой на мой блог с друзьями. Пока-пока!

С уважением, Роман Чуешов

Как создать файл.htaccess новичку? Файл.htaccess, как правило, имеет только расширение под Unix — системы. И приносит пользу сайтам под управлением сервера Apache. Htaccess имеет набор правил для определенного сайта на сервере. Которые сервер Apache исполняет во время работы сайта. Благодаря ему, можно указать значительное количество полезных правил для сайта.

Инструкция для создания файла.htaccess:

  1. Для того, чтобы создать этот файл! Достаточно воспользоваться любым доступным текстовым редактором (к примеру блокнотом).
  2. Название (.htaccess) — без кавычек и прочего.
  3. Сохраняем файл.
  4. Затем переносим его на Ваш сервер (хостинг) с помощью FTP клиента. Обязательно в корневую директорию сайта.
  5. Далее его можно редактировать как угодно. Но обязательно обновляйте версию файла на сервере (хостинге).

Содержание статьи:

Особенности настройки файла.htaccess и распространенные ошибки

Именно так, этот файл чаще всего вызывает банальную серверную ошибку 500 Internal Server Error . Редактировать файл необходимо очень осторожно. А также, следовать следующим правилам:

  1. Всегда перед началом редактирования.htaccess файла, сохраняйте его рабочею копию.
  2. Никогда не вносите новые правила на рабочий сайт. Нужна начальная проверка файла.
  3. Кодировка, как правило UTF -8.
  4. Каждое правило нужно писать с новой строчки.
  5. Исключаются те инструкции, которые не обрабатывает сервер Apache. Сразу вызывают серверную ошибку.
  6. Нельзя писать несколько инструкций в одной строке. Ошибка 500 будет Вам обеспечена.
  7. Будьте внимательны! Лишний пробел или символ могут привести к ошибке.

Какое влияние оказывает.htaccess файл на сайт

Как правило благодаря этому файлу можно хорошо оптимизировать сайт для поисковых систем. Вот что он может:

  1. Настройка 301-го редиректа на сайте (распространенное правило). Может использоваться под необходимые задачи.
  2. Настройки хеширования сайта на стороне сервера.
  3. Включение сжатия gzip (сокращенно от GNU Zip). Сжатие файлов на стороне сервера.
  4. Обеспечить защиту сайта: блокировка ip адресов, запреты и прочее.
  5. Указать необходимый объем выделяемой памяти для сайта.

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

Для чего нужен файл.htaccess

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

Настройкам, которые диктует файл подчиняется та директория, в которой.htaccess расположен, а также все входящие в нее директории.

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

Как создать файл.htaccess

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

Ограниченный доступ

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

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

Order deny,allow Deny from all Allow from *.*.*.*

Эти настройки создают определенный порядок действий. Изначально доступ запрещается всем пользователям. Затем доступ разрешается только с выбранного ip, который указывается вместо звездочек в последней строке. Имеется возможность разрешить доступ большому количеству ip или подсетей. Единственным правилом является написание всех адресов с новой строчки.

Для адресов, относящихся к одной подсети, нужно указать вместо последней звездочки диапазон 0/*.
Например:

Allow from *.*.*.0/11

Если вы не знаете свой ip-адрес, воспользуйтесь одним из множества сервисов в интернете, например: https://2ip.ru/

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

Запрет доступа конкретным адресам

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

Order allow,deny Allow from all Deny from *.*.*.*

Тут, в отличие от прошлого примера, сначала дается доступ, а уже после — запрещается. Строка Allow from all дает доступ всем посетителям сайта. Третья строка блокирует доступ к сайту для выбранного ip. Как и в прошлый раз, добавляйте новые ip c новой строки. Обратитесь в техническую поддержку своего провайдера, чтобы узнать ip-адрес, с которого ведутся запросы к вашей площадке.

Установка пароля для доступа к папке.

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

Главный минус такого способа – пароль задается лишь для одного посетителя. Чтобы им могли пользоваться сразу несколько человек, нам снова потребуется помощь.htaccess. В файле.htaccess впишите новые настройки.

AuthName «your_text» AuthType Basic Require valid-user AuthUserFile «полный_путь_к _файлу_.htpasswd»

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

Строка Require valid-user открывает доступ для любых имен пользователей. Указать свой список имен вы можете, перечисляя их через запятую вместо valid-user.

Логин и пароль для доступа к папке должны быть зашифрованы и содержаться в файле.htpasswd из этой же директории. В четвертой строке нужно указать путь к этому файлу. Для его создания также можно использовать файловый менеджер.

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

Файл.htaccess (англ. hypertext access) используется для простой и удобной настройки веб-сервера на котором хранится сайт пользователя. Соответственно меняя настройку веб-сервера, мы сможем поменять работу сайта. Как правило, файл.htaccess находится в корневом каталоге, а его действие распространяется на весь сайт и на все подкаталоги. Если же в другом каталоге содержится свой.htaccess, то он будет действовать только на свой каталог и подкаталоги.

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

Где находиться файл.htaccess?

Обычно он располагается в коневом каталоге сайта. Иногда, в различных CMS может находится файл htaccess.txt, который никак не воспринимается сервером и ни на что не влияет. Чтобы он начал работать нужно его переименовать в.htaccess. Если это не получится сделать на вашем компьютере, то зайдите на свой сервер через FTP-клиент, и переименуйте файл прямо сервере.

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

Как проверить работает ли.htaccess?

Все просто, напишите в первой строчке этого файла любое слово (например YAROBOT), сохраните файл и замените им находящийся на сервере. Если сайт продолжит работать, то.htaccess в данный момент не работает. Если же появится ошибка 500 Internal Server Error, то это значит, что веб-сервер не смог понять команду (YAROBOT) и выдал ошибку. Этот факт подтвердит, что работа.htaccess на сервере поддерживается и включена в данный момент. Чтобы вернуть сайту работоспособность удалите строчку с YAROBOT.

Правильный 301 редирект через файл.htaccess

Важно! Если вы хотите, чтобы ваш редирект работал, нужно перед строками, которые рекомендуются ниже по тексту, обязательно прописать

301 Редирект с одной страницы на другую (или сайт)

Для этого в файл.htaccess вносим следующие строки:

Redirect 301 /старая-страница.html http://сайт.рф/новая-страница.html

RedirectPermanent /старая-страница.html http://сайт.рф/новая-страница.html

301 Редирект с www-сайта на сайт без www

Например перенаправление с http://www.site.com на http://site.com. Это очень полезная вещь, часто используется в СЕО

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$
RewriteRule ^(.*)$ http://domain.com/$1

Обратный редирект с домена без www на домен с www

Перенаправление с http://site.com на http://www.site.com (не советуем использовать)

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1

Редирект всех посетителей со старого сайта на новый

Redirect 301 / http://newsite.com/

Как добавить.html в конце URL?

Чтобы при вводе site.com/page или site.com/page/ происходило перенаправление на site.com/page.html пишем в.htaccess следующее:

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html
RewriteRule ^(.*)/$ /$1.html

Как убрать.html в конце URL?

Обратный редирект с site.com/page.html на site.com/page

RewriteBase /
RewriteRule (.*)\.html$ $1

Как убрать слэш в конце URL?

Например было site.com/page/, стало site.com/page

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1

301 Редирект с одного раздела на другой?

Перенаправление всех страниц одного раздела site.com/razdel-1/razdel-2/page на на страницы другого раздела site.com/razdel-1/page

RewriteRule ^blog/raznoe/(.*)$ http://site.ru/blog/$1

301 Редирект при переезде со старого домена на новый

Следующее правило корректно перенаправит посетителей с каждой конкретной страницы старого сайта на такую же страницу на новом сайте. Например со страницы oldsite.com/page на newsite.com/page

RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteCond %{HTTP_HOST} ^test.oldsite.com$
RewriteRule ^(.*)$ http://newsite.com/$1

Правильное изменение страниц ошибок через.htaccess

Когда пользователь хочет увидеть сайт (отправляет запрос на сервер хостера), то сервер возвращает ему ответ с кодом. Коды 1-399 свидетельствуют о нормальной работе сервера, а коды 400-599 сообщают об ошибке сервера (коды всех ошибок смотрите в спец. статье). Например, если сервер с вашим сайтом перегружен, или у него происходит перезагрузка, то пользователь увидит непонятный ему текст (например, 500 Internal Server Error), подумает, что сайт больше не будет работать и больше никогда на него не вернется. Чтобы вместо стандартной страницы ошибки (непонятно для пользователя) показать ему вашу отдельную страницу, на которой будет например, сообщение о том, что сайт временно не работает, но позже восстановит свою работу и на него обязательно стоит вернуться (сайт КиноПоиск при перегрузки серверов выдает сообщение "Матрица перезагружается..." и соответствующую картинку). Наиболее распространенным решением является составление собственной страницы вместо стандартной 404-ошибки. Эта ошибка показывается пользователю, если введен адрес несуществующей страницы. Думающие вебмастеры, создают свою страницу вместо непонятной стандартной, на которой пишут, что человек перешел по несуществующей ссылке и предлагают поискать нужную информацию на сайте, а не уйти с него. Пример нашей 404-страницы можно увидеть . Чтобы показывать пользователям свою страницу ошибки вместо стандартной, нужно создать отдельную страницу (например http://yoursite.com/404.html) и добавить соответствующий код в файл.htaccess Вот примеры кода, который нужно добавить:

ErrorDocument 400 http://yoursite.com/400.html
ErrorDocument 404 http://yoursite.com/404.html
ErrorDocument 500 http://yoursite.com/500.html

Если вы хотите подставить другую страницу вместо ошибки 403, то нужно указывать еще текстовое сообщение, которое будет показано, например:

ErrorDocument 403 "Sorry can"t allow you access today, see you later alligator:)"

Настройки безопасности сайта через файл.htaccess

Файл.htaccess дает большие возможности для улучшения безопасности сайта. Наиболее популярные мы сейчас перечислим:

Защита сайта от скриптовых инъекций

#Включает отслеживание сим-ссылок
Options +FollowSymLinks
#Запускает url_rewriting
RewriteEngine On
#Блокирует все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E)
#Блокирует все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%{0,2})
#Блокирует все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%{0,2})
#Перенаправляет все подобные попытки на страницу с ошибкой 403 - запрещено
RewriteRule ^(.*)$ index.php

Как защитить сайт от кражи картинок

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

Options +FollowSymlinks
#Запрещает кражу картинок
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yoursite.com/
RewriteRule .*.(gif|jpg|png)$ http://yoursite.com/images/stop_stealing.gif

yoursite.com - адрес вашего сайта
http://yoursite.com/images/stop_stealing.gif - путь к картинке, которую вы сами должны создать. На ней обычно пишут "не крадите картинки с чужих сайтов" или что-то подобное.

Как заблокировать доступ к сайту для пользователя по IP?

Применяется против спамеров и прочих неадекватов, изредка для предотвращения хакерских атак.

#Вносим сюда нежелательные IP адреса
allow from all
deny from 164.186.15.116
deny from 124.153.34.144

Как заблокировать доступ к сайту для всех IP кроме проверенных?

Чтобы заблокировать доступ для всех, кроме конкретных IP-адресов, добавляем такой код:

#Запрещает доступ для всех, кроме указанных IP-адресов
ErrorDocument 403 http://www.yoursite.com
Order deny,allow
Deny from all
Allow from 164.186.15.116
Allow from 124.153.34.144

Как запретить просмотр содержимого конкретной папки

#Запрещает просмотр содержимого папки
Options All -Indexes

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

#Защищает файл myfile.txt

order allow,deny
deny from all

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

Например чтобы запретить доступ ко всем файлам.txt пишем так:


Order Deny,Allow
Deny from all

Блокируем ненужных User Agent-ов

Часто у пользователя в браузере установлено очень много расширений, которые передают серверу (на котором расположен ваш сайт) информацию о себе и другую лишнюю информацию. Такую же информацию посылают на сервер клиентские приложения установленные на компьютере пользователя, а также различные роботы и пауки. Информацию о большинстве актуальных на сегодня "Юзер Агентах" можно найти .

#Блокирует нижеперечисленных User Agent-ов
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase user-Agent ^Java.*
SetEnvIfNoCase user-Agent ^Microsoft.URL
SetEnvIfNoCase user-Agent ^MSFrontPage
SetEnvIfNoCase user-Agent ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
SetEnvIfNoCase user-Agent ^Zeus

Order Allow,Deny
Allow from all
Deny from env=bad_bot

Изменение кодировки сайта через.htaccess

Бывает такое, что один пользователь заходит к вам на сайт и видит его нормальным, а другой видит абракадбру вместо букв. Это происходит из-за кодировки сайта. Чтобы браузер пользователя правильно ее распознал, сайт делается в одной из популярных кодировок:

UTF-8 - универсальная двухбайтовая кодировка
Windows-1251 - Кириллица (Windows)
KOI8-r - Кириллица (КОИ8-Р)
cp866 - Кириллица (DOS)
Windows-1250 - Центральная Европа (Windows)
Windows-1252 - Западная Европа (Windows)

Также кодировку нужно указывать в мета-теге каждой страницы сайта, это сообщает браузеру в какой кодировке сделан сайт.

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

AddDefaultCharset WINDOWS-1251

Если работают оба варианта (и мета-тег, и файл.htaccess), то очень важно, чтобы кодировка в них совпадала.

Также есть возможность, чтобы сервер автоматически перекодировал все файлы, которые на него загружаются:

Чтобы выключить перекодировку сервера нужно вписать:

Оптимизация работы сайта через.htaccess

Ускорение работы сайта через Gzip

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


AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$

FileETag MTime Size


ExpiresActive on



mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Как улучшить кэширование сайта на сервере?

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


ExpiresActive On
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
FileETag MTime Size


ExpiresActive on
ExpiresDefault "access plus 1 month"

В выражении "access plus ..." установите срок хранения файлов на компьютере пользователя. По истечении этого срока, при запросе к сайту файлы будут единоразово загружены с сервера. Оптимальным будет от 7 дней до месяца, хотя иногда устанавливается и год.

Изменение главной (индексной) страницы сайта

Как правило при заходе на сайт сначала загружается страница index.html или index.php. Чтобы изменить это правило (в начале станет загружаться mypage.php) добавляем в.htaccess такой код:

Настройка PHP-параметров через файл.htaccess

Обычно за настройки PHP отвечает файл php.ini, но часть этих настроек можно задать через.htaccess. Для этого используются два выражения: php_value - для логических значений (например включить\выключить), и php_flag для числовых значений. Вот правила написания этих выражений:

php_flag директива1 ЗНАЧЕНИЕ1
php_value директива2 ЗНАЧЕНИЕ2

где ЗНАЧЕНИЕ1 может быть on, off, 1 или 0 (1 и on - означает включить, а 0 и off - выключить);

ЗНАЧЕНИЕ2 - любое числовое или буквенное значение, которое подходит под конкретную директиву;

директива1 (используется только с php_flag) может иметь значения:

magic_quotes_gpc - вкл\выкл функцию magic_quotes_gpc


display_startup_errors - вкл\выкл показ ошибок, которые происходят при работе PHP

php_flag display_startup_errors 1


display_errors - вкл\выкл показ ошибки в браузер


output_buffering - вкл\выкл буферизацию вывода данных


register_globals - вкл\выкл глобальные переменные


engine - вкл\выкл исполнение PHP в папке в которой находится.htaccess и во всех вложенных

директива2 (используется только с php_value) может иметь такие значения:


upload_max_filesize - устанавливает максимальный размер загружаемого файла

php_value upload_max_filesize 10M


user_agent - задает значение строки user_agent, которую передает сервер

php_value user_agent “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”


post_max_size - задает максимальный размер пересылаемой почты


mysql.default_user - задает имя пользователя базы данных

php_value mysql.default_user databaseuser


mysql.default_password - задает пароль для пользователя БД

php_value mysql.default_password jk323jh4g


mysql.default_host - задает имя хоста БД (обычно это localhost)

php_value mysql.default_host localhost


sendmail_from - задает имейл для отправки почты с помощью PHP


auto_prepend_file - задает файл, который будет добавлен в начало каждого PHP-скрипта

php_value auto_prepend_file /www/publiс_html/myfile.php


auto_append_file - задает файл, который будет добавлен в конец каждого PHP-скрипта

php_value auto_append_file /www/publiс_html/myfile.php