Файл .htaccess
Файл .htaccess — это файл дополнительной конфигурации веб-сервера Apache. Рано или поздно возникает задача, которую проще решить посредством именно данного файла, а иногда и вовсе не возможно решить без его использования. Файл .htaccess — это чрезвычайно полезный инструмент, который, однозначно, должен присутствовать в арсенале веб-мастера.
Благодаря файлу дополнительной конфигурации вы можете управлять большинством настроек сервера Apache. Файл .htaccess позволяет задавать огромное количество дополнительных параметров, разрешений для работы веб-сервера, не предоставляя доступа к главному конфигурационному файлу httpd.conf. Тем самым мы не влияем на работу всего веб-сервера целиком, а только на ту зону рабочего пространства, которую нам выделил хостинг.
Создав данный файл в каждой конкретной директории, можно управлять настройками веб-сервера того или иного сайта. Например, одному сайту можно задать кириллическую кодировку, а другому Юникод. Файл .htaccess можно разместить в любом каталоге, при этом директивы данного файла будут действовать только на файлы текущего каталога.
Директивы .htaccess
- AddDefaultCharset
Добавив директиву Adddefaultcharset utf-8 или windows-1251 можно задать кодировку для всех файлов в текущем каталоге и других каталогах, находящихся ниже в иерархическом дереве.
Также в HTML5 прописывается заголовок, указывающий браузеру какую кодировку использовать: <meta charset=»UTF-8″>
- Options
Данная директива накладывает запрет на отображение содержимого каталога при отсутствии индексного файла.
Options -Indexes или +Indexes #запрет или разрешение выдачи листинга в каталоге.
Options +MultiViews #открытие файлов без указания расширений.
- DirectoryIndex
Директива переопределяет индексный файл.
DirectoryIndex index.php #переопределение индексного файла на index.php
Директивы перенаправления
- Redirect
Одна из самых используемых директив в файле .htaccess
Redirect 301 /file.html /file.php #выполняет редирект посетителя, запрашивающего документ на другой URL, в данном случае на file.php
Redirect 301 https://ваш_сайт.ru https://ya.ru #редирект на другой сайт
Google и Яндекс рекомендуют использовать код состояния 301 при перенаправлении страниц.
С точки зрения SEO, именно код состояния 301 сообщает поисковым роботам, что нужно объединить два разных адреса в один, где основным будет тот, на который и происходит перенаправление.
302 редирект – это «временное» переправление пользователей со страницы с одним URL-адресом на страницу с другим URL.
302 редирект seo-специалистами применяется, если на сайте идут временные технические работы и контент страницы меняется на тот же ограниченный период времени (например, на страницу ставится заглушка «Извините, сайт временно не работает – ведутся технические работы»). В других случаях настраивать 302 редирект не стоит.
- RedirectMatch
Данная директива является более продвинутой директивой для перенаправлений, чем Redirect. В ней можно использовать регулярные выражения и обратные связи.
RedirectMatch 301 .+\.rar$ /file.php #редирект посетителя, запрашивающего документ на другой URL. Вместо адреса запрашиваемого документа пишется регулярное выражение (шаблон).
Директивы управления доступом
- Order
Order — в переводе порядок. Порядок может принимать значения [Deny, Allow] или [Allow, Deny] в файле .htaccess.
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
#данный порядок запрещает доступ ко всему сайту, кроме определённого IP-адреса.
Order Allow,Deny
Allow from all
Deny from 192.168.1.1
#данный порядок разрешает доступ ко всему сайту, кроме определённого IP-адреса.