Начните искать ключевые слова
Используйте Serpstat, чтобы находить лучшие ключи
Что такое htaccess
Если конфигурационный файл интернет-сервера Apache остается пока загадкой и для вас, читайте нашу статью, где мы расскажем все о htaccess, что надо знать для успешного старта изучения настроек веб-сервера.
Как создать файл htaccess?
Синтаксис htaccess
htaccess защита сайта
Вывод ошибок htaccess
301 редирект htaccess
Другие htaccess редиректы
Как сделать поддомен через htaccess?
htaccess настройка кэширования
Другие возможности htaccess
Что делать, если не работает htaccess?
FAQ
Заключение
Файл htaccess – что это?
Официальное описание htaccess гласит, что он предоставляет возможность задавать серверную конфигурацию на уровне папок. У Apache есть файл, где хранятся главные настройки веб-сервера. Указанные там параметры носят глобальный характер, что не всегда удобно. htaccess делает конфигурирование более гибким.
Профессиональная настройка htaccess позволяет изменять работу Apache в отдельно взятых папках. Например, переназначать файловые типы или разграничивать доступ к директориям. Поскольку изменения происходят локально, файл с основными параметрами веб-сервера не затрагивается, в чем явный плюс.
Задаваемые в htaccess правила распространяются на папку, где размещается файл и все директории, расположенные внутри нее. Ситуация меняется после создания htaccess в той или иной поддиректории. Отметим, что локальная конфигурация доступна при условии, что это разрешено сервером. Большинство дешевых хостингов данную функцию поддерживает.
Как создать файл htaccess?
Синтаксис htaccess
Если открыть htaccess «Битрикс», Drupal, Joomla или другой популярной CMS, внутри окажется перечисление команд. В документации они обозначаются как директивы. Каждая из них пишется на отдельной строке.
Когда требуется написать комментарии в htaccess, перед ними ставится знак # (решетка). Начинающиеся с нее строки сервер игнорирует. Удобно, что изменения вступают в силу после сохранения файла. Перезагружать Apache не надо.
Наиболее распространенные спецсимволы регулярных выражений
Примеры переменных
htaccess защита сайта
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Вслед за контролем сим-ссылок запускается механизм перезаписи адресов страниц. Далее блокируются ссылки с тегами <script> и сторонние скрипты для изменения переменных языка программирования PHP GLOBALS и REQUEST. В конце подозрительные запросы перенаправляются на страницу с ошибкой 403. Тем самым затрудняется жизнь злоумышленников, которые пытаются взломать сайт.
Мало что поняли? Не страшно! Даже если поверхностно разбираетесь в правилах htaccess, никто не мешает пользоваться чужими разработками. Вы можете без проблем взять показанный нами набор директив и использовать на сайте. Веб-сервер Apache активно применяется уже десятки лет. Найти готовое решение зачастую не составляет труда. Это экономит время и предотвращает грубые ошибки.
Вывод ошибок htaccess
301 редирект htaccess
Перед тем как прописать 301 редирект в htaccess, оптимизатор анализирует сайт и находит мешающие продвижению странички. Чаще всего они содержат ошибки и дубли контента. Отбор страниц выполняется вручную или автоматически.
На следующем этапе специалист продумывает, как настроить 301 редирект htaccess с максимальной эффективностью. Одно дело, когда удаляются 10-20 страниц, и совсем другое — тысячи. К составлению директив требуются совершенно разные подходы.
В конечном итоге оптимизатор подбирает оптимальный вариант, как сделать 301 редирект через htaccess, и приступает к написанию серверных инструкций. При условии, что они составлены правильно, страницы исчезают из индекса. Происходит это так.
Поисковый робот заходит на страничку для переиндексации. При обращении срабатывает редирект. Поисковик получает сигнал, что страница больше не существует по старому адресу. Значит, ее надо убрать из индексной базы.
Постраничный редирект 301 htaccess
Redirect 301 http://www.mysite.com/page_01.php http://www.mysite.com/page_02.php.
Сперва пишется указание, что это редирект. Следом прописывается, с какой страницы и куда перенаправлять.
Интересно, что похожей практикой пользуются веб-программисты при написании систем управления контентом. Специалисты применяют htaccess редирект всех страниц на одну — главную. В основном это index.php. Страничка является своего рода точкой входа в веб-приложение. Туда уходят все запросы, где ПО сайта производит их разбор. Директивы для перенаправления всех страниц на одну выглядят так:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
htaccess редирект на другой домен
RewriteEngine On
RewriteCond %{HTTP_HOST} mysite_01.com
RewriteRule (.*) http://mysite_02.com/$1 [R=301,L]
Составлять htaccess 301 редирект на новый домен надо крайне аккуратно. Малейшая ошибка способна привести к выпадению целых разделов из индекса. Лучше писать правила постепенно и предварительно тестировать на локальном сервере.
Нужен 301 редирект htaccess с одного домена на другой и при наличии 2 или более имен. Предположим, главный сайт имеет 2 адреса — mysite.com и my-site.com. Первый — главный, а второй — вспомогательный. С него и идет перенаправление.
Некоторые вебмастера применяют htaccess перенаправление на другой домен в целях аккумуляции трафика. Первоначально покупается большое число доменных имен в различных зонах. Затем их посетители отправляются на приоритетный проект.
Среди прочего htaccess редирект на другой сайт оптимален для склеивания зеркал. В интернете зеркалами считаются сайты с одинаковым контентом, но разными доменными именами. Грамотно настроенные перенаправления избавляют от массы проблем с SEO.
В целом, перенаправление на другой сайт через htaccess – весьма распространенный метод. К нему прибегают как в SEO, так и в служебных целях. В особенности это характерно для высоконагруженных интернет-проектов.
htaccess редирект с поддомена на домен
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+).mysite.com$
RewriteRule (.*) https://mysite.com/$1 [L,R=301,QSA]
Не работает 301 редирект через htaccess
Редирект на мобильную версию сайта htaccess
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^ http://m.mysite.com%{REQUEST_URI} [R,L]
Другие htaccess редиректы
Как сделать поддомен через htaccess?
Redirect /category http://category.mysite.com.
Быстрое создание субдоменов поддерживает панель управления любого платного хостинга.
htaccess настройка кэширования
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
Другие возможности htaccess
htaccess перенаправление в другую папку из корня
RewriteEngine On
RewriteRule ^$ /some_directory [L]
htaccess перенаправление на файл из корня
RewriteEngine on
RewriteRule ^.+$ /some_file.php [L]
Замена Роботс или как закрыть сайт от индексации htaccess
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot
Блокировка ботов htaccess
BrowserMatchNoCase "Baiduspider" bots
BrowserMatchNoCase "SemrushBot" bots
BrowserMatchNoCase "BLEXBot" bots
BrowserMatchNoCase "AhrefsBot" bots
BrowserMatchNoCase "DotBot" bots
BrowserMatchNoCase "Exabot" bots
BrowserMatchNoCase "SeznamBot" bots
BrowserMatchNoCase "aiHitBot" bots
BrowserMatchNoCase "spbot" bots
BrowserMatchNoCase "MJ12bot" bots
BrowserMatchNoCase "oBot" bots
BrowserMatchNoCase "DeuSu" bots
BrowserMatchNoCase "ia_archiver" bots
BrowserMatchNoCase "MetaURI" bots
BrowserMatchNoCase "FlipboardProxy" bots
Order Allow,Deny
Allow from ALL
Deny from env=bots
htaccess редирект из папки на главную
RedirectMatch 301 ^/directory/$ http://mysite.com/
htaccess запретить доступ к файлу
<Files "some_file.txt">
Order Deny,Allow
Deny from all
</Files>
htaccess редирект в другую папку
RewriteEngine on
RewriteBase /
RewriteRule ^first_directory/(.*)$ /second_directory [R=301,L]
htaccess кодировка
AddDefaultCharset UTF-8
htaccess разрешить доступ к папке
Options -Indexes
Order Deny,Allow
Allow from all
htaccess редирект без слеша на слеш в конце
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Что делать, если не работает htaccess?
- Сайт на хостинге. Когда появляется 500 ошибка, значит, сервер обрабатывает файл. Сделайте резервную копию htaccess, удалите содержимое и напишите простую директиву. Если оповещение с кодом 500 исчезнет, присутствуют неточности в правилах. Надо найти и устранить. При отсутствии реакции веб-сервера обращайтесь в саппорт. Иначе рискуете безрезультатно потратить время.
- Веб-сайт на локальном сервере. Здесь все гораздо сложнее, потому что за работу веб-сервера отвечаете лично вы. Допустим, директивы написаны правильно и дело не в нарушении синтаксиса. Для начала установите программу с нуля и проверьте, как работает htaccess с настройками по умолчанию. Не помогло? Обратитесь в службу поддержки Apache или создайте тему в профильном сообществе наподобие StackOverflow.
FAQ
Как подключить htaccess?
Чтобы включить htaccess, откройте файл с настройками веб-сервера Apache и найдите строку AllowOverride None. Замените None на All.
Для чего нужен htaccess файл?
- Авторизация.
- Аутентификация.
- Определение собственных страниц с ошибками.
- Создание красивых адресов.
- Оптимизация кэширования с целью снижения нагрузки на веб-сервер.
- Переопределение главных настроек Apache.
Сколько 301 редиректов можно прописать в htaccess?
Неограниченное количество. Учтите, что не рекомендуется злоупотреблять числом перенаправлений или создавать многоуровневые правила, когда страница А отправляет пользователей на страничку Б, а та на В, откуда на Г и т. д.
Как найти и где находится htaccess?
Обычно файл размещается в корневой папке сайта. Иногда он находится в подпапках.
На каком языке написан htaccess?
Файл не включает программный код, а содержит набор директив для веб-сервера. Синтаксис заимствован из XML. Применяются также регулярные выражения. Пишутся инструкции на английском языке.
Существует ли онлайн-генератор редиректов htaccess?
Да, существуют онлайн-генераторы редиректов htaccess. Функционал подобных онлайн-сервисов значительно отличается.
Заключение
Serpstat — набор инструментов для поискового маркетинга!
Находите ключевые фразы и площадки для обратных ссылок, анализируйте SEO-стратегии конкурентов, ежедневно отслеживайте позиции в выдаче, исправляйте SEO-ошибки и управляйте SEO-командами.
Набор инструментов для экономии времени на выполнение SEO-задач.
Используйте лучшие SEO инструменты
Подбор ключевых слов
Поиск ключевых слов – раскройте неиспользованный потенциал вашего сайта
Возможности Serpstat
Возможности Serpstat – комплексное решение для эффективного продвижения вебсайтов
Кластеризация ключевых слов
Кластеризация ключевых слов автоматически обработает до 50 000 запросов в несколько кликов
SEO аудит страницы
Проанализируйте уровень оптимизации документа используя SЕО аудит страницы
Рекомендуемые статьи
Кейсы, лайфхаки, исследования и полезные статьи
Не успеваешь следить за новостями? Не беда! Наш любимый редактор подберет материалы, которые точно помогут в работе. Только полезные статьи, реальные кейсы и новости Serpstat раз в неделю. Присоединяйся к уютному комьюнити :)
Нажимая кнопку, ты соглашаешься с нашей политикой конфиденциальности.