Как сделать файл htaccess

Обновлено: 06.07.2024

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

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

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

Возможности и для чего нужен​

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

Где находится .htaccess​

Raspolozhenie htaccess

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

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

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

Как правильно создать .htaccess​

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

Примеры использования​

Редирект​

URL_LOCAL – это старый адрес, с которого осуществляется перенос пользователя.

URL_REDIRECT – новый URL, куда переносится страница.

  1. 301 – страница перенесена навсегда.
  2. 302 – страница перенесена на время.
  3. 303 – смотрите другую страницу.
  4. 410 – страница удалена.

Mod_rewrite (директивы сложного переноса)​

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

1. Указание основного зеркала​

3. Проставление слеша в конце адреса​

4. Перенос домена​

Оптимизируя сайт и под Яндекс, и под Google, изменение доменного имени может быть чревато неприятными последствиями. Инструкции в robots.txt, предназначенные для Яндекса, перекрываются 301-редиректом. Но этого можно не допустить, добавив в код правило:

5. Запретные команды для поискового бота​

Обработка ошибок​

Практически любой интернет-пользователь встречался с ошибкой 404 not found (страница не найдена или удалена). Но есть огромное количество других ошибок, о которых вы наверняка не слышали.

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

Индексные документы​

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

Либо добавить несколько таких страниц, и поисковик будет находить их в соответствующей последовательности:

Указание кодировки​

Данная функция нужна, чтобы текст отображался на экране пользователя правильно. Иначе вместо нормальной читабельной страницы он будет видеть непонятные символы. Сегодня широко распространена кодировка: Windows-1251 – Кириллица и UTF-8 – двухбайтовая кодировка. Для выбора кодировки в служебном документе, применяется директива:

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

Указание паролей для директорий​

Доступ к файлам и директориям​

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

Заключение​

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

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

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

Создать .htaccess можно через файловый менеджер хостинга (ISPmanager, который предоставляется бесплатно при аренде выделенного сервера) или через FTP. В Windows, MacOS, возможно, у вас не получится создать этот файл. Поэтому можно поступить следующим образом:

  • Создать файл htaccess без точки
  • Загрузить его на сервер по ftp
  • Переименовать файл и поставить в начало имени файла - точку

Не отображается файл .htacess

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

Как изменить файл .htaccess?

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

Что нужно знать при редактировании файла хтаццесс?

Как было сказано выше - действие файла распространяется на текущую директорию и все внутренние поддиректории. Кроме того:

После редактирования файла появилась ошибка 500 - Internal Server Error

Это означает, что имеется ошибка в файле .htaccess. Возможные причины:

  • Ошибка синтаксиса (опечатки, неверные настройки)
  • Отсутствует тот или иной модуль в веб сервере
  • Старая версия веб сервера/модулей или инструкций файла .htaccess
  • Некоторые директивы запрещены к редактированию

Как устранить эту ошибку: посмотрите в error_log веб сайта. Там обязательно вы увидите указание на ошибку.

htaccess для HTML сайта

Файл .htaccess будет работать как для PHP сайтов, так и для html сайтов. Главное - наличие веб сервера apache, т.к. именно он обрабатывает этот файл.

Установка индексного файла для сайта

Индексный файл - это тот файл, который будет открываться при заходе на сайт или директорию сайта. Как правило, это файл: index.php, index.htm, index.html. Но вы можете поменять его на любой другой. К примеру: myfile.php такой директивой:
DirectoryIndex myfile.php

Вывод ошибок PHP

Если вы хотите включить отображение ошибок PHP, то в файл .htaccess необходимо добавить следующую директиву:
php_value display_errors 1
Таким образом, php будет показывать все ошибки прямо в браузере.

Ошибка 403 - Forbidden при открытии директории сайта

А чтобы включить запрет на отображение файлов в директории, напишите:
Options -Indexes

Кроме того, можно запретить к показу только определенные типы файлов в директории. К примеру, запретим показывать файлы .php и .html:
IndexIgnore *.php *.html

.htaccess кодировка

Поменять кодировку сайта можно через файл .htaccess. К примеру, по умолчанию, веб сервер работает в кодировке UTF-8, а вам нужна кодировка windows-1251. Изменяется это просто:
AddDefaultCharset windows-1251

Таким образом, вы переопределите кодировку в текущий директории и поддиректории.
Так же можно задать кодировку отдельным типам файлам. К примеру, когда основной документ у вас в одной кодировке, а .htm файлы - в другой. Давайте сменим кодировку браузера для .htm файлов на UTF-8:
AddType "text/html; charset=utf-8" .htm

Изменение максимального размера загружаемых файлов в PHP

Вы можете увеличить или уменьшить максимальный размер загружаемого файла через скрипт PHP. К примеру, увеличим размер до 100МБ с помощью двух директив upload_max_filesize и post_max_size:
php_value upload_max_filesize 20M
php_value post_max_size 20M

Обратите внимание, что максимальный размер не может быть больше того значения, которое установлено на сервере. Максимальный размер файла, установленный сервером можно посмотреть через функцию phpinfo().

Время жизни сессии PHP

Через файл .htaccess возможно изменить время жизни сессии PHP. Время жизни задается в секундах. По умолчанию время хранения сессий — 1440 секунд - это 24 минуты.
Давайте увеличим время хранения на 1 неделю. Надо вписать в файл следующие директивы:
php_value session.gc_maxlifetime 604800
php_value session.cookie_lifetime 604800

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

  • Быстрому исчерпанию места на диске
  • Переполнение количества файлов в директории (inodes)
  • К долгому удалению файлов через специальную системную утилиту - garbage collector
  • Увеличению нагрузки на сервере

Ограничение на использование оперативной памяти в PHP

Для любого скрипта на сервере выдается ограничение на максимальный используемый объем оперативной памяти. Параметр называется memory_limit и его можно посмотреть через phpinfo() или изменить через .htaccess. К примеру, ограничить 256 МБ:
php_value memory_limit 256M

Обращаем внимание, что размер нельзя задать больше, чем разрешено самим сервером.

Основное зеркало сайта через .htaccess

То есть, если человек открыл сайт по алиасу, мы его переадресовываем на основной адрес домена.

Запрет доступа по IP

Через файл .htaccess вы можете запретить доступ к ресурсам сайта или наоборот, разрешить только определенным IP адресам. Можно ограничить как ко всем файлам и директориям, так и к некоторым.
К примеру, запретим доступ всем к текущей директории, поддиректории и файлам:
Order Deny,Allow
Deny from all

А можно заблокировать пользователя, зная его IP адрес 192.168.1.1:
Order Deny,Allow
Deny from 192.168.1.1

Или наоборот, запретить всем, а разрешить только 223.332.111.11:
Order Deny,Allow
Deny from all
Allow from 223.332.111.11

Указание собственных страниц ошибок

Вы можете указать свои страницы для различных ошибок (404,403, 500). Просто указать соответствующий путь до них относительно адреса сайта:
ErrorDocument 403 /error/403error.html
ErrorDocument 404 /error/404error.html
ErrorDocument 500 /error/500error.html

Где /error/название файла - это HTML версия страницы ошибки. Пользователь увидит ее, если возникнет соответствующая ситуация.

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

Что такое .htaccess

.htaccess ー это файл веб-сервера, который позволяет управлять настройками сайта и работой сервера, не изменяя при этом конфигурационного файла.

В каком-то смысле он напоминает менеджера, который управляет работой в офисе, не обращаясь по каждому мелкому вопросу к начальнику.

Благодаря работе с .htaccess можно:

  • настроить редирект;
  • изменить страницы ошибок;
  • сделать сайт безопаснее;
  • увеличить скорость работы сайта;
  • настроить php параметры.

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

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

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

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

В некоторых системах управлением содержимым ー Content Management System (CMS) ー можно найти .htaccess в административной панели. Пример из Битрикса:

Пример из Битрикса

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

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

Если этого не произойдет, значит .htaccess не функционирует. В случае нормального функционирования выйдет ошибка 500 Internal Server Error.

Как создать

Прежде чем приступать к редактированию, проверьте, не выдает ли сервер ошибку 500.

Работа с файлом .htaccess

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

Правильный 301 редирект

Это делается для того, чтобы редирект работал. Далее в зависимости от нужд:

  • Перенаправление с одной страницы на другую (или сайт):
  • Перенаправление с сайта с www на сайт без www:
  • Редирект пользователей с одного сайта на другой:

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

Коды ошибок с 400 по 599 указывают на неправильную работу сервера, но рядовому пользователю они ни о чем не говорят. Увидев непонятный текст, он может решить, что сайт прекратил свою работу, и больше на него не вернуться.

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

Нет такой страницы

После этого добавляем в .htaccess код по примеру:

Настройки безопасности сайта

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

При защите от скриптинговых атак

Скриптиновая атака ー это внедрение вредоносного кода в страницу сайта злоумышленником.

Благодаря файлу htaccess не нужно обращаться к основному файлу конфигураций и затрагивать работу сервера целиком.

Файл htaccess, как создать файл htaccess, как настроить htaccess.

Что собой представляет файл htaccess и для чего используется htaccess?

Файл htaccess

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

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

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

Некоторые особенности использования htaccess:

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

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

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

Читайте также: