Файл htaccess что это, как сделать, пример. Файл htaccess: применение, включение, настройка Особенности настройки файла.htaccess и распространенные ошибки
Сервер Apache (на котором и находится большинство сайтов) имеет очень полезную возможность задавать определённые настройки сервера для конкретной директории (в частности, для одного сайта). Такой файл называется .htaccess . Однако, создавать его в Windows-системе так просто не получится. В этой статье я расскажу новичкам, как создаётся.htaccess в Windows .
Особенность файла состоит в том, что он не имеет имени, у него лишь расширение. Это норма для Unix-систем , но в Windows это не совсем норма. Итак, порядок действий для создания.htaccess следующий:
- Открыть текстовый редактор (Notepad++ или даже обычный Блокнот ).
- В меню "Файл " выбрать "Сохранить как ".
- В выпадающем списке "Тип файла " выбрать "Все файлы ".
- Ввести в качестве имени ".htaccess " (разумеется, без кавычек).
- Нажать на кнопку "Сохранить ".
Для новичков кое-что добавлю. В этом файле надо сразу прописать кодировку сайта. Если это UTF-8 :
AddDefaultCharset UTF-8
Если это windows-1251 :
AddDefaultCharset CP1251
Далее этот файл надо поместить в корень сайта, там где находится index-файл (как правило, это index.html или index.php ). Я об этом написал, поскольку у многих новичков проблемы с кодировкой на сайте именно по этой причине.
andew
2015-02-19T11:30:28+00:00
2017-02-16T05:30:00+00:00
12697
Файл .htaccess являются по своему назначению конфигурационным файлом уровня каталога(директории) для web сервера Apache . Это означает, что директивы из этого файла исполняются Apache локально только при обращении к директории, содержащий этот файл. Область действия этих директив распространяется только на каталог, в котором расположен файл, и на вложенные каталоги, до тех пор пока они не будут переопределены в других файлах.htaccess из вложенных каталогов. Файл.htaccess перечитывается при каждом обращении к веб-серверу, так что изменения, внесенные в этот файл, вступают в силу немедленно.
Таки образом apache предоставляет нам удобный инструмент конфигурации на уровне директорий сайта. Это расширяет наши возможности так как не все настройки удобно делать на глобальному уровне и на уровне виртуального хоста. Так же на хостингах, владелец сайта, как правило, не имеет возможности выполнять настройки apache на глобальном уровне и на уровне виртуального хоста, но у него может быть возможность задать требуемые настройки на уровне каталогов сайта. Для того что бы apache принимал и исполнял директивы из файлов.htaccess каталогов сайта нужно, что бы на глобальном уровне или на уровне виртуального хоста apache это было разрешено для сайта.
Делается это разрешение при помощи следующего блока кода:
Здесь в теге
Теперь пару слов о названии файла.htaccess. Этот файл может называться и по другому, и это тоже устанавливается в глобальном конфиге apache директивой AccessFileName. По умолчанию эта директива установлена в конфиге как AccessFileName .htaccess, и это значение обычно никто не меняет, но вы должны знать, что изменить его на другое возможно.
Синтаксис файлов.htaccess в общем случае аналогичен синтаксису главного файла конфигурации apache. Однако, администратор может ограничивать для пользователей доступ к тем или иным директивам. То есть, несмотря на то, что команда, в принципе, может исполняться из.htaccess, администратор может запретить доступ к конкретной директиве. Учитывайте это при работе. Также хочу заметить такой момент, когда вы пишите директивы работающие с каталогами? то в главных конфигурационных файлах apache их нужно оборачивать в тег
Для чего мы можем использовать.htaccess файл
. Вариантов здесь немало, вот самые распространенные из них:
1.Для управления разрешениями на доступы к каталогам сайта (запаролить директорию, запретить доступ к файлам определенного формата, или доступ к сайту в определенный промежуток времени, запретить или открыть доступ с определенных IP адресов, управлять роботами поисковиков)
2.Для перезаписи текущего URL на новый в зависимости от условий ()
3.Для явного указания кодировки сайта.
4.Для разрешения или запрета просмотра файлов сайта
5.Для защиты от хотлинка
6.Для выполнения ридирктов
7.Для задания своих страниц ошибок
8.Для переопределения индексного файла
9…. и многое другое.
Давайте для примера напишем некий обобщенный файл.htaccess
.
В него мы соберем наиболее распространенные случаи использования директив и добавим к ним комментарии. И из этого шаблона путем удаления не нужного вы сможете всегда подготовить конкретный.htaccess для ваших задач. Здесь символ #
- это символ комментария применяемый в конфигах apache.
# .htaccess начало шаблона
# Установка временной зоны
SetEnv TZ Europe/Moscow
# Установим принудительно кодировку страниц сайта
AddDefaultCharset UTF-8
# Зададим index файл который будет
# отдаваться если запрошенный не найден
DirectoryIndex index.php index.html
# Запретим пользователям просматривать файлы директории
Options -Indexes
# Разрешим следовать за символическими связями в этом каталоге
Options +FollowSymLinks
# Разрешение доступа только для указанных IP
Order Deny,Allow
Deny from all
Allow from x.x.x.x
# Или запрет доступа по IP
Order allow,deny
deny from x.x.x.x
deny from x.x.x.x
allow from all
# Запретить всем, то только
# одну эту строку указать
Deny from all
# Закрыть доступ к вложенной директории относительно текущего файла
# можно так, или положив туда отдельный.htaccess файл
Расшифрую некоторые флаги из директив:
- RewriteCond ... - NC значит регистр нечувствительное сравнение выполнять
- RewriteCond ... - NC см. выше, OR - значит объединять RewriteCond через OR, по умолчанию если ничего не указана то RewriteCond объединяются через AND оператор.
- RewriteRule ... [L] - L значит закончить (остановить обработку) на этом RewriteRule правиле любые дальнейшие преобразования URL , т.е. последующие RewriteRule не выполнять.
- RewriteRule ... - L см. выше, R=302 значит выполнить редирект с кодом 302 на преобразованный URL
- RewriteRule ... - L и R см. выше, QSA - при преобразовании URL выполнять при стыковку заданных частей, а не замену.
- RewriteRule ... [F] - F, значит отказать в выдачи результата по этому URL кодом 403 Forbidden .
- RewriteRule . - G|Gone - [G] flag значит отдать код 410 Gone status - рекомендация забыть этот URL
AuthUserFile - задает путь к файлу с паролями для http авторизации пользователя. Путь может быть абсолютный от корня файловой системы Linux сервера или относительный от ServerRoot apache. В Ubuntu ServerRoot "/etc/apache2" по умолчанию. При задании относительного пути от ServerRoot apache начальный слеш в пути не указывается, иначе путь будет восприниматься как абсолютный от корня Linux. Также, если путь содержит недопустимые символы и пробелы его нужно заключать в кавычки, это общее правило.
Order, Deny, Allow
Теперь еще раз, но уже более детально, хотелось бы вернуться к директивам управление доступом: Order , Deny , Allow и более детально описать ее синтаксис и логику.
Директивы Allow , Deny , Order модуля mod_access_compat нежелательны к использованию и считаются устаревшими, хотя и поддерживаются еще в версиях Apache 2.3 и 2.4 . В следующих версиях они будут удалены. Вместо них, начиная с версии Apache 2.3 , этот функционал реализуется директивой Require , которая позволяет более гибко настраивать доступы, чем устаревшие директивы. Детали смотрите в статье , которая подробно описывает директивы Require , Allow , Deny , Order с примерами их использования.
Директива Order синтаксис: Order или
По умолчанию директива Order имеет порядок: Deny,Allow . Обратите внимание, что Deny,Allow пишутся без пробела.
В зависимости от того в каком порядке указаны директивы Deny,Allow или Allow,Deny меняется логика работы.
Если Deny,Allow то запрещается доступ со всех IP кроме указанных, если Allow,Deny разрешается доступ со всех IP кроме оговоренных. Далее идут секции описания для доступа и запрета. Ключевое слово all означает со всех IP.
Например, что бы запретить (блокировать) доступ с IP x.x.x.x и x.x.x.xx и разрешить доступ всем остальным необходимо добавить в.htaccess следующий код:
# Разрешить
ВСЕМ кроме указанных
IP
Order
Allow,Deny
Allow from all
Deny from x.x.x.x x.x.x.xx
Обратите внимание что IP записаны через пробел. Можно также указать IP как IP/маска.
Для обратной ситуации, что бы запретить доступ со всех IP кроме x.x.x.x и x.x.x.xx нам необходимо добавить в.htaccess следующий код:
# Запретить
ВСЕМ кроме указанных
IP
Order Deny,Allow
Deny from all
Allow from x.x.x.x x.x.x.xx
Запрет или разрешение можно указывать и на отдельный файл или группы файлов. Например, что бы запретить доступ всех кроме IP x.x.x.x к файлу passwd.html, который расположен в текущей директории.
# Запретить
файл passwd.html ВСЕМ кроме указанных
IP
Order Deny,Allow
Deny from all
Allow from x.x.x.x
Аналогично можно запретить или разрешить доступ к определенной группе файлов описав их через регулярное выражение. Например, к файлам с расширением ".key":
#Запретить
файлы *.key ВСЕМ кроме указанных
IP
Order Deny,Allow
Deny from all
Allow from x.x.x.x
Шаблон получился большой, но на практике нужно стремиться использовать только действительно крайне необходимые директивы. Особенно осторожно нужно поступать с внешними редиректами, так как они приводят к общему увеличению времени обработки запроса. Поэтому делайте их только если они действительно необходимы. Еще хочется предостеречь Вас от прямого копипаста директив из приведенного мною шаблона в ваши реальные конфиги. Код приведенный здесь используйте только для примера, что бы получить представление, что вообще возможно и как это будет выглядеть. В свои же файлы вставляете только те директивы, синтаксис которых вы понимаете, можете расшифровать и которые вы проверили по официальному руководству apache . Ошибки по исполнению директив из файла .htaccess смотрите в логах apache .
Файл .htaccess (Hypertext Access, Доступ к гипертексту ) — это конфигурационный файл сервера, который находится в корневой папке сайта. В этом файле можно сделать дополнительные настройки для защиты от хакеров и спама, например, запретить доступ к определенному файлу или папке, установить пароль на папку, добавить редиректы каких-то запросов, заблокировать ip и так далее. Это мощный инструмент, который можно использовать для увеличения безопасности сайта.
В этой статье вы узнаете, что можно добавить в файл .htaccess для увеличения безопасности сайта.
Что может делать.htaccess
Файл .htaccess находится в корневой папке сайта. Точка перед названием файла означает, что файл невидим, и вы сможете его видеть если включите настройку «Показывать скрытые файлы».
Отображать скрытые файлы в Filezilla
Файл используется для настройки сервера, типичное применение файла:
- Включает и отключает редиректы на другие страницы
- Добавляет пароль на папки
- Блокирует пользователей по IP
- Отключает показ содержимого папок
- Создает и использует собственные страницы для ошибок
В Вордпрессе этот файл используется для создания красивых постоянных ссылок (Настройки — Постоянные ссылки — Общие настройки), и создается автоматически когда эта функция включается.
Если вы уже знаете, для чего нужен этот файл, переходите к .
Сделайте бэкап
.htaccess довольно чувствительный файл, поэтому одна ошибка в синтаксисе может положить весь сайт. Скопируйте файл на компьютер, если появится ошибка, вы сможете вернуться к первоначальному варианту.
Как создать.htaccess
В зависимости от вашей установки Вордпресс, у вас может не быть файла .htaccess , поэтому его нужно создать. Вы можете создать его на компьютере и перенести на сервер с помощью ftp-клиента, или создать этот файл в файл менеджере на хостинг-панели.
Если ваш сервер или компьютер не позволяет создать файл с таким именем, создайте файл htaccess.txt, перенесите его на сервер и на сервере переименуйте его в .htaccess .
Начиная с версии 4.2 все установки Вордпресс имеют красивые постоянные ссылки по умолчанию, поэтому файл .htaccess в этих версиях создается автоматически. В новый пустой файл добавьте стандартную запись, которую делает Вордпресс.
Для одиночной установки:
Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся в подпапках:
Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся на субдоменах:
Когда вы создаете новый .htaccess файл, дайте этому файлу как минимум 640 для защиты от возможных атак. Нормальные права для этого файла — 600. Если файл уже есть, проверьте, чтобы права доступа были не выше 640.
Куда добавлять изменения
Строки, начинающиеся с тега #, являются комментариями и не являются правилами для исполнения .htaccess .
Добавляйте свои комментарии к вашим правилам.
Когда вы добавляете свои правила, добавляйте их выше или ниже стандартных правил Вордпресс.
Не добавляйте и ничего не редактируйте между строками # BEGIN WordPress и # END WordPress . Для мультисайт установок таких комментариев нет, но не добавляйте и не редактируйте ничего в коде для мультисайт установок.
Если вы что-то исправили в этом коде, Вордпресс должен автоматически вернуть первоначальный вариант, но лучше ничего не менять. В крайнем случае у вас должна остаться копия файла, которую вы можете вернуть на сервер.
Добавляйте свои правила выше или ниже стандартных правил Вордпресс по-одному, пишите к ним комментарии, сохраняйте и проверяйте изменения на сайте.
Некоторые из этих способов могут уже использоваться на вашем сайте, например, к файлам и папкам на сервере, или в плагинах безопасности. С точки зрения лучше оставить включенные опции только в одном месте.
Файл.htaccess необходим для правильной и корректной работы вашего блога или сайта. В этой статье мы с Вами познакомимся с файлом.htaccess и создадим его.
Содержание:- § 1. Файл.htaccess
- 1.1. Как создать файл.htaccess
- 1.2. Настройка.htaccess.
- § 2.
- 2.2. Перенаправление старых ссылок на новые страницы с помощью редиректа 301
- § 3. Ограничение доступа
- 3.2. Защита поролем
§ 1. Файл.htaccess
Файл.htaccess используется для установки некоторых параметров серверов Apache. htaccess был придуман специально для того, чтобы можно было предоставить возможность менять конфигурацию сервера каждому пользователю, затрагивая только свой собственный сайт, а не весь сервер целиком .
Особенности использования htaccess:
1. В нем можно переопределить большое количество директив, прописанных в главном файле httpd.confg
2. Если расположить htaccess-файл в корневой каталог, он распространится на весь сайт (исключения составят только те каталоги, в которых расположен собственный конфигурационный файл, и каталоги, расположенные ниже в древовидной структуре)
3. Разместить htaccess-файл можно в любой каталог, а его директивы будут применены ко всем подкаталогам
4. Htaccess не доступен пользователю для просмотра из браузера, так как относится к категории «системные».
С помощью htaccess пользователь получает гибкость в настройке собственного сервера и может применять следующие параметры:
- . Директивы простого перенаправления (редирект);
- . Директивы сложного перенаправления (mod_rewrite);
- . Индексные страницы;
- . Обработка ошибок;
- . Определение кодировки;
- . Управление доступом к директориям и файлам;
- . Паролирование директорий;
- . Опции PHP.
1.2. Как создать файл.htaccess
Порядок действий для создания.htaccess :
1. Открыть текстовый редактор (Notepad++ или даже обычный Блокнот ).
2. В меню "Файл " выбрать "Сохранить как ".
3. В выпадающем списке "Тип файла " выбрать "Все файлы ".
4. Ввести в качестве имени ".htaccess " (без кавычек).
§ 2. Примеры использования файла.htaccess
Файл.htaccess лучше всего использовать для оперирования ошибок на сайте (вроде 404 или 301), для переписи URL или для того, чтобы выставить права на пользование директорией. Это отлично подходит, когда нужно указать новое расположение старого контента, при создании страницы ошибки для контента, которого больше не существует, для того, чтобы запросить пароль доступа к некоторым файлам или папкам на сервере, либо для того, чтобы превратить URL в более понятные и простые. Давайте рассмотрим некоторые варианты применения файла.htaccess:
2.1. Ошибка 404 или как удержать посетителя
Попав на страницу с загадочной надписью "Ошибка 404", где запрашиваемая страница не найдена и предлагалось вернуться назад, откуда пришли. Некоторые из вас возвращаются, а некоторые просто закрывают страницу и уходят с сайта.
Ошибка 404 возникает в браузере пользователя, когда он набирает ошибочный или вовсе несуществующий адрес либо переходит на сайт по "битой" ссылке. Вот тогда и происходит автоматический переход пользователя на cерверную страницу ошибки.
Можно сделать свою страницу с сообщением об ошибке 404. К примеру:
"Тысячу извинений! Произошло недоразумение! О братитесь за помощью к карте сайта, это поможет найти все что надо. Приятного вам путешествия!"
Смысл создания собственной страницы с сообщением об ошибке 404 - удержать посетителя на сайте, не дать ему уйти.
Создаем собственной страницы ошибок
1 . Открываем Блокнот (текстовый редактор).
2. Вставляем туда следующий код:
ErrorDocument 404 http://ваш_сайт/myerror.html
где ваш_сайт - доменное имя вашего сайта, а myerror - название страницы 404 ошибки.
3. Сохраняем этот файл с именем.htaccess. Файл.htaccess управляет страницей 404.
4. Загружаем его в корневую директорию сайта. Созданная нами запись указывает серверу новое месторасположение и название страницы ошибок.
5. Создаем саму страницу ошибок, вписываем нужный текст, можно даже вставить какую-нибудь подходящую картинку и загружаем страницу в корневую папку.
6. Наберите в браузере строку http://ваш_сайт/ /abracadabra.html и увидите результат проделанной работы.
Наличие собственной страницы ошибки 404 не является решением всех проблем.
Удерживая с помощью собственной страницы ошибки 404 своих потенциальных клиентов, Вы увеличиваете вероятность того, что они купят именно у Вас, а не у Вашего конкурента!
1. Удостоверьтесь, что Вы правильно написали и не забыли точку в начале имени файла: .htaccess.
2. Сделайте собственную страницу ошибки 404 визуально идентичной любой другой странице сайта, т.е. у посетителя должно создаться впечатление, что он находится на обычной странице сайта, а не на странице ошибки.
3. Собственная страница ошибки 404 не даст испортить репутацию как Вам, так и Вашему ресурсу!
2.2. Перенаправление старых ссылок на новые страницы с помощью редиректа 301
Одна из серьезнейших проблем, с которой сталкиваются владельцы при переезде сайта, это значительные потери в позициях страницы в поисковых системах. Это вызвано тем, что старый контент переносится неверным образом на новое место, а поисковая система не оповещается о том, что имела место перемена места. Это приведет к исключению ссылки из результатов выдачи поисковой системы, и соответственно повлияет на рейтинг вебсайта в этой системе.
Чтобы избежать этого, надо использовать страницу редирект 301 как часть файла.htaccess. Эта ошибка известна в качестве постоянного перенаправления, и укажет поисковой системе на новое расположение файла или конкретного контента. Перенаправление выглядит следующим образом:
Redirect 301 http://domen.ru/old-page/ http://domen.ru/archive/new-page/Redirect 301, указывает на тип ошибки и означает, что должно произойти перенаправление в тот момент, когда робот поисковой системы пытается обнаружить контент по старой ссылке. Первый URL-адрес показывает старую ссылку на контент, а второй URL ведет на уже обновленное место расположения контента. Хотя этот пример использует один и тот же домен для обоих URL, редирект 301 позволяет вам перенаправлять пользователей и поисковые системы на новые доменные имена.
2.3. Склейка зеркал при помощи 301 редиректа
Редирект 301 так же используют для переадресации страниц с префиксом www на страницы без www или наоборот. Для поисковых систем сайт ваш_сайт.ru - это два сайта с одинаковым содержанием, имеющие адреса: http://www.ваш_сайт.ru/ и http://ваш_сайт.ru. Такие сайты называются зеркалами.Таким образом, часть тиц и pr уходят с одного сайта на другой. Чтобы этого не происходило, и поисковые машины считали два этих сайта одним, произвести "склейку зеркал", то есть перенаправить пользователей и поисковых роботов с сайта с префиксом www на сайт без www или наоборот. Для этого в файле.htacces надо написать:
RewriteEngine OnRewriteCond %{HTTP_HOST} ^www.ваш_сайт.ru
RewriteRule (.*) http://ваш_сайт.ru/$1
мы настроили переадресацию со всех страниц сайта с префиксом www
§ 3. Ограничение доступа
Файл дополнительной конфигурации.htaccess так же часто используют для ограничения доступа к сайту, разделам сайта или конкретным файлам, находящимся на сервере.
Чтобы запретить доступ ко всему сайту, необходимо в файле.htacces написать следующее:
deny from all
Запретить доступ только с конкретного ip-адреса:
deny from all
order allow deny
deny from all
deny from ip_адрес_пользователя
"ip_адрес_пользователя" необходимо заменить на конкретный ip-адрес.
Чтобы разрешить доступ только с конкретного ip-адреса, можно написать:
order allow deny
deny from all
allow from ip_адрес_пользователя
3.1. Защита файла от хотлинка
Вы написали статью и вставили в нее картинки, не секрет, что статьи постоянно воруют, обычно это делают подростки, чтобы якобы время не терять. Воруя статьи, заодно воруют Ваши картинки и не просто сохраняют их к себе на компьютер, а потом добавляют на сайт, воры пользуются Вашим сервером, скопировав URL код картинки и вставив к себе на сайт, из-за этого идет большая нагрузка на Ваш сервер.
Защитить файлы от хотлинка при помощи файла.htaccess можно добавив в него две строчки:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru.*$
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ -
В скобочках через символ "|" указаны расширения файлов, доступ к которым будет запрещен всем, за исключением сервера и пользователей сайта ваш_сайт.ru
Чтобы открыть доступ к файлам с этим расширением для пользователей поисковых систем необходимо исключить на них запрет так же, как на ваш_сайт.ru:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?ваш_сайт.ru
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo.
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing.
RewriteRule \.(jpe?g|bmp|gif|png|css|zip|pdf|txt|doc)$ -
3.2. Защита поролем
При помощи файла дополнительной конфигурации.htacces возможно установить пароль на директорию сайта, конкретный файл или группу файлов с одинаковым расширением.
Чтобы установить пароль на директорию, в.htaccess необходимо написать :
AuthName "What do you want?"
AuthType Basic
require valid-user
Файл.htaccess, содержащий эти строки необходимо поместить в директорию, доступ к которой мы хотим закрыть. При попытке пользователя зайти на соответствующий раздел сайта сервер отдаст код статуса 401 (требуется авторизация) и выведет окно с полями для ввода имени пользователя и пароля и сообщением "What do you want?", указанным в директиве "AuthName" (допускаются только латинские символы и цифры).
Имена пользователей и пароли хранятся в файле.htpasswd. Путь к этому файлу задается в директиве "AuthUserFile".
Важно: путь к файлу.htpasswd указывается абсолютный, от корневого каталога сервера .
Чтобы узнать путь к.htpasswd, который необходимо указать в.htaccess, можно создать файл php, содержащий:
< ?php echo $_SERVER["DOCUMENT_ROOT"]; ? >
Закачать этот файл на сервер туда же, где находится.htpasswd, и открыть его в браузере. В сгенерированной странице Вы увидите абсолютный путь к директории, указанный от корневого каталога сервера.
Установить пароль на конкретный файл можно следующим образом:
< Files file.txt >
AuthName "It"s not for all"
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd
Пароль на группу файлов:
< Files "\.(sql)$" >
AuthName " It"s not for all "
AuthType Basic
AuthUserFile /home/сервер/ваш_сайт.ru/pass/.htpasswd
В данном случае все файлы, имеющие расширение.sql будут доступны только по паролю.
Не забывайте написать ваш комментарий, понравилась ли статья. От вас пару слов, а мне - признание поисковых систем, что пишу нормальные человеческий статьи. Заранее спасибо вам!
Для тех, кто еще не работал с данным файлом, предлагаю Вам основы, которые помогут Вам решить некоторые задачи. Сам по себе.htaccess, очень полезная штука. С его помощью Вы можете открыть или закрыть доступ, контролировать трафик и обезопасить свой сайт от вредоносных действий.
Как создать файл.htaccess
У некоторых сайтов уже по умолчанию есть.htaccess. Его создает система управления сайтом или как многие называют - движок. Тот же WordPress сам создает по умолчанию этот файл, который по сути пуст и в нем нет кода, только две строки с комментариями.
Если же у Вас нет такого файла, то вы можете с легкостью его создать. Он должен находится в корневой папке Вашего сайта. Вот несколько шагов в создании:
- 1. Открываем текстовый редактор или тот который используете для верстки, советую Notepad++ , если же он Вам не знаком, то обычный Блокнот .
- 2. Ничего в нем не пишем и просто сразу сохраняем нажав на пункт меню "Файл" , выбрать "Сохранить как" .
- 3. В открывшемся окне, там где стоит выбор "Тип файла" выбрать "Все файлы" или "All files"
- 4. В строке, где нужно указать имя, нужно прописать .htaccess
- Нажать на кнопку"Сохранить" , чтобы завершить создание.
Теперь Вы можете открывать его для редактирования и добавлять нужный код, чтобы иметь возможность управлять сайтом. Предлагаю Вам рассмотреть самые популярные команды для.htaccess, которые могут Вам пригодится, и с которыми приходилось сталкиваться мне.
Перед каждым редактированием .htaccess , сохраните его резервную копию, чтобы потом, в случаи не правильной работы сайта, вы смогли вернутся к исходному состоянию.
Как указать кодировку сайта в.htaccess
Если Вам нужно указать кодировку в.htaccess, то Вам нужно открыть его и добавить всего лишь одну строку кода, который укажет кодировку. Для UTF-8 :
AddDefaultCharset UTF-8
для windows-1251 :
AddDefaultCharset CP1251
Как запретить доступ к определенным файлам или самому.htaccess
Если у Вас возникла надобность нужда в том, чтобы запретить посетителям доступ к определенным файлам или.htaccess то добавьте следующий код:
Как заблокировать доступ к файлам определенного типа в.htaccess
Как запретить просмотр директорий в.htaccess
Если у Вас возникла надобность в том, чтобы запретить посетителям просматривать структуру вашего сайта, то добавьте следующий код:
Options -Indexes
Если, Вам наоборот нужно открыть доступ к просмотру директорий, то поможет следующий код.
Options All +Indexes
Как ускорить время загрузки сайта за счет сжатия файлов
Можно сжимать любые файлы, например, для сжатия HTML-файлов нужно добавить вот такую вот строку
AddOutputFilterByType DEFLATE text/html
Если же это например текстовый файл, то надо так:
AddOutputFilterByType DEFLATE text/plain
Для JavaScript:
AddOutputFilterByType DEFLATE application/javascript
Есть код, который одновременно сожмет все javaScript, HTML и CSS файлы при помощи GZIP. Это вот такой вот код:
Как запретить вставлять изображения со сторонних ресурсов
Если по какой-то причине, у Вас возникла потребность в том, чтобы запретить пользователям своего сайта добавлять какие бы то не было изображения, то просто, добавьте такой вот код:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
yourdomain.com - замените на домен Вашего сайта, чтобы скрипт работал.
Как заблокировать посетителей, которые пришли из определенного сайта.
Если для Вас имеет значение то, чтобы посетители какого-то сайте не переходили на Ваш сайт, так сказать, ограничить трафик из определенного домена, Вам поможет, вот такой вот не хитрый код:
Как видите, можно блокировать сразу с нескольких добавляя строки, меняя только домены.
Кэширование файлов в.htaccess
Кэширование файлов помогает ускорить работу Вашего сайта. Добавьте код, в котором указаны расширения файлов, которые следует кэшировать.
Иногда бывает, что файлы не включены в список, но всеравно кэшируются браузером. Если таким файлам надо отключить кэширование, то код будет другим и в нем указываются расширения.
Как изменить главную страницу в.htaccess
Стандартной страницей загрузки являются страницы - index.html, index.php, index.htm .
DirectoryIndex newpage.html
Просто укажите новую страницу, вместо newpage.html .
Как заблокировать доступ к сайту по IP адресу
Как убрать index.php, index.html из URL адреса
Этот способ тоже описан в статье -
Вот такие коды, могут помочь Вам в работе с Вашим сайтом. Как и говорил, это лишь малая часть, того что можно сделать с помощью.htaccess.
На этом все, спасибо за внимание. 🙂