Дизайн та розробка сайту

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

коды .htaccess

Доброго времени суток. 🙂

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

коды .htaccess

Для тех, кто еще не работал с данным файлом, предлагаю Вам основы, которые помогут Вам решить некоторые задачи. Сам по себе .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 то добавьте следующий код:

<Files .htaccess>
 order allow,deny
 deny from all
 </Files>

Как заблокировать доступ к файлам определенного типа в .htaccess

<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
 Order Allow,Deny
 Deny from all
 </FilesMatch>

Как запретить просмотр директорий в .htaccess

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

Options -Indexes

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

Options All +Indexes

Как ускорить время загрузки сайта за счет сжатия файлов

Можно сжимать любые файлы, например, для сжатия HTML-файлов нужно добавить вот такую вот строку

AddOutputFilterByType DEFLATE text/html

Если же это например текстовый файл, то надо так:

AddOutputFilterByType DEFLATE text/plain

Для JavaScript:

AddOutputFilterByType DEFLATE application/javascript

Есть код, который одновременно сожмет все javaScript, HTML и CSS файлы при помощи GZIP. Это вот такой вот код:

<IfModule mod_gzip.c>
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.* 
</IfModule>

Как запретить вставлять изображения со сторонних ресурсов

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

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

yourdomain.com - замените на домен Вашего сайта, чтобы скрипт работал.

Как заблокировать посетителей, которые пришли из определенного сайта.

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

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} site1.com [NC,OR]
RewriteCond %{HTTP_REFERER} site2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>

Как видите, можно блокировать сразу с нескольких добавляя строки, меняя только домены.

Кэширование файлов в .htaccess

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

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

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

<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>

Как изменить главную страницу в .htaccess

Стандартной страницей загрузки являются страницы - index.html, index.php, index.htm.

DirectoryIndex newpage.html

Просто укажите новую страницу, вместо newpage.html.

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

Про данный способ, можете прочитать в этой статье - Как заблокировать доступ к сайту по IP адресу

Как убрать index.php, index.html из URL адреса

Этот способ тоже описан в статье - Как убрать index.php, index.html из URL адреса

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

На этом все, спасибо за внимание. 🙂

Дизайн та розробка сайту

Back to top