Задать вопрос
Все статьи / Хостинг / Сайт / Файл .htaccess
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Файл .htaccess

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

.htaccess (сокращение от «hypertext access») — это дополнительный конфигурационный файл для Apache. Веб-сервер должен учитывать параметры, указанные в файле, когда обрабатывает запрос.
Обратите внимание, что .htaccess работает только с Apache. У других веб-серверов, например Nginx, есть свои файлы.

Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache — httpd.conf. Они влияют только на каталоги (и их подкаталоги), в которых этот файл размещен.

Где находится файл .htaccess? Если вам нужно, чтобы настройки .htaccess работали для всего сайта, разместите его в корневом каталоге. Для подкаталогов тоже можно создавать .htaccess-файлы, но учтите, что они будут мешать настройкам файла .htaccess, размещенным на уровне выше. Если вы используете CMS, скорее всего, этот файл был создан программой автоматически и чаще всего его можно найти в папке «public_html» или «www».

Что можно сделать с помощью .htaccess

  1. Настроить переадресацию (редирект):
  2. Ограничить или разрешить доступ к сайту с определенных IP-адресов. Это позволит контролировать доступ, а также отражать хакерские атаки. Например, во время DDoS-атаки можно запретить обработку запросов с определенных IP, что не даст злоумышленнику нарушить работоспособность сервера.
  3. Запретить доступ к конкретным файлам. Если сайт содержит папку с конфиденциальной информацией, ей нужна дополнительная защита. Через .htaccess можно настроить доступ по логину и паролю.
  4. Назначить кодировку по умолчанию. Если на сайте вы увидели не текст, а набор непонятных символов — на сайте указана неправильная кодировка. Самая распространенная кодировка — UTF-8. Указать правильную настройку и починить сайт можно в .htaccess.
  5. Указать, какие страницы должны отображаться у пользователей, при ошибках системы. На сайтах могут быть 400, 403, 404, 502 и другие ошибки. Чтобы немного сгладить неприятное впечатление пользователя от проблемы, нужно создать красочную страницу ошибки и в .htaccess указать, при каких проблемах показывать ту или иную страницу.
  6. Запретить поисковым роботам индексировать страницу. Поисковые роботы изучают все веб-страницы в интернете, если по какой-либо причине вы хотите скрыть страницу от роботов, просто запретите индексацию в файле .htaccess.  
  7. Настроить параметры PHP. Настраивать PHP можно не только в php.ini, но и в .htaccess.

Весь список директив, которые возможно использовать в .htaccess, можно найти в официальной документации PHP и Apache:

  1. Список директив php.ini.
  2. Работа с веб-сервером Apache.

Как работает .htaccess

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

Как выглядит .htaccess

.htaccess  — простой текстовый файл, где в каждой строке указана команда (директива). Пустые строки игнорируются.

Символ «#» в начале строки — комментарий. Система не читает эти строки. Их используют для удобства, чтобы описать смысл конкретной команды или блока.

Как создать .htaccess

Многие CMS (WordPress, Joomla, 1С-Битрикс и другие) создают файл .htaccess автоматически. Найти его можно в корневой папке в панели управления хостингом. Обычно он пустой или с парой комментариев. То есть вы сразу можете начинать работу с нужными командами.

Если же сайт был написан с нуля или вы случайно удалили существующий файл, нужно:

  1. Создать файл .htaccess вручную на устройстве.
  2. Перенести созданный файл на виртуальный хостинг.

Этап 1. Создайте файл .htaccess: инструкция для Windows

Если вы работаете на Windows, создать .htaccess можно в Блокноте.

  1. Откройте Блокнот.
  2. Нажмите Файл → Сохранить как …:

  1. В строке «Тип файла» выберите Все файлы. В строке «Имя файла» введите .htaccess и нажмите Сохранить:

  1. Файл создан. Если, несмотря на выбранные параметры, файл сохранился в формате .htaccess.txt, нужно убрать txt-расширение. Для этого откройте проводник, перейдите во вкладку Вид и уберите галочку напротив пункта Расширения имен файлов:

Этап 2. Разместите файл на хостинге SpaceWeb

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

  1. Перейдите в раздел Хостинг Файловый менеджер.
  2. Выберите папку, в которую хотите поместить файл .htaccess и нажмите на значок Загрузить файлы:

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

Этап 3. Сообщите Apache, что он должен использовать .htaccess

Чтобы Apache использовал в своей работе файл .htaccess, в httpd.conf нужно добавить строку:

AllowOverride All

Настройка .htaccess

А теперь покажем, какие директивы (команды) для настройки .htaccess могут вам понадобиться для сайта.

Редиректы

Если при настройке перенаправлений вы используете кириллические домены, в .htaccess их нужно указывать в формате Punycode. Перевести веб-адрес в нужный формат можно с помощью специального сервиса, например 2ip.

Все способы редиректа в .htaccess вы можете прочитать в нашей статье Как настроить редирект через .htaccess. Здесь расскажем о двух основных настройках.

Переадресация на другой домен

Укажите в файле .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} olddomain.ru
RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

Где:

  • olddomain.ru — домен, с которого вы настраиваете перенаправление;
  • newdomain.ru — домен, на который нужно перенаправить пользователей.

Переадресация сайта с HTTP на HTTPS

Обратите внимание, что перенаправление с HTTP на HTTPS нужно делать в файле .htaccess в корневой папке сайта. Введите:

RewriteEngine on
SetEnvIf X-Forwarded-Proto https SERVER_PORT=443
SetEnvIf X-Forwarded-Proto https HTTPS=on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Переадресация поддомена в подкаталог сайта

Чтобы настроить переадресацию запросов на поддомен в подкаталог сайта добавьте в файл .htaccess строки:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} (www\.)?img\.example\.com$
RewriteCond %{REQUEST_URI} !img/
RewriteRule ^(.*)$ img/$1

Где:
img\.example\.com ― поддомен, с которого должна переадресовываться страница.
img ― подкаталог, в котором находятся файлы поддомена.
Экранирование точки обратной косой чертой (\) в строке 3 необязательно.

Ограничение или разрешение доступа к сайту с определенных IP-адресов

Чтобы ограничить доступ к сайту с определенных IP-адресов в файл .htaccess добавьте:

Order Allow,Deny
Allow from all
Deny from IP

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

Order Deny,Allow
Deny from all
Allow from IP

Вместо IP в третьей строке укажите IP-адрес (или список IP-адресов через пробел), которому хотите разрешить доступ к сайту.
Подробнее об этой директиве можно прочитать в статье Как запретить доступ к сайту через файл .htaccess.

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

Для этого добавьте в .htaccess строки:

<Files ПУТЬ_К_ФАЙЛУ>
Order Deny,Allow
Deny from all
Allow from IP
</Files>

Где:

  • ПУТЬ_К_ФАЙЛУ — путь к файлу, к которому нужно ограничить доступ;
  • IP — IP-адрес, для которого вам нужно разрешить доступ.

Назначение кодировки

Для этого добавьте строку:

AddDefaultCharset utf-8

Для корректной установки CMS Bitrix
Для корректной установки CMS Bitrix в файле .htaccess необходимо указать следующие строки:

php_value mbstring.internal_encoding UTF-8
php_value mbstring.func_overload 2
php_value max_input_vars 10000
php_value pcre.recursion_limit 1000

Отображение возникающих ошибок PHP на странице

Чтобы контролировать работу сайта, нужно настроить отображение ошибок PHP. Один из способов это сделать ― добавить директиву в .htaccess:

php_flag display_errors on
php_value error_reporting -1

Настройка страниц ошибок

Чтобы настроить отображение страниц ошибок, используйте директиву ErrorDocument. Формула для составления команды:
ErrorDocument + номер ошибки + путь к странице с ошибкой или текстовое сообщение.
Примеры:

ErrorDocument 404 /errors/not_found.php
ErrorDocument 401 /info.html
ErrorDocument 403 "you shall not pass"
ErrorDocument 500 http://example.com/500.php
Предыдущая статья
Как перенести сайт на другой хостинг: пошаговая инструкция
Следующая статья
Технический домен