Настроить переадресацию с http на https в файле htaccess
Файл .htaccess позволяет изменять некоторые настройки веб-сервера Apache (например, перенаправление) и опции PHP для сайта, поддомена или вложенной директории без изменения конфигурационного файла Apache или php.ini. Директивы, указанные в файле .htaccess, распространяются на саму директорию, в которой находится .htaccess, и на все вложенные, в том числе и на поддомены.
Как правило, файл .htaccess создается в корневой директории сайта или в тех, которые требуют специфического поведения веб-сервера (запрет отображения списка файлов, обработка статических файлов, авторизация и прочее). Если файл .htaccess отсутствует в корне сайта, создайте его через Файловый менеджер Панели управления или загрузите с локального компьютера при помощи FTP-клиента.
При редактировании файла .htaccess будьте предельно внимательны: неверно указанные директивы и посторонние символы могут привести к внутренней ошибке сервера (500 Internal Server Error).
Настройки веб-сервера Apache
Перенаправление
Redirect 302 /blog /new-blog/index.php
Простые правила перенаправления вы можете создавать автоматически при помощи раздела «Перенаправления» в Панели управления хостингом при переходе к управлению сайтом. Более сложные правила (с условиями и дополнительными параметрами) составляются при помощи модуля Apache mod_rewrite. Использование этого модуля позволяет решить широкий спектр задач, примеры некоторых мы рассмотрим ниже.
Перенаправление на определенное имя сайта (с или без www)
Если у вашего сайта несколько имен, но вы хотите, чтобы пользователи всегда видели в адресной строке определенное имя сайта (в данном примере это www), добавьте в файл .htaccess в корне вашего сайта следующие строки:
Избавиться от дублей страниц
Добавить слеш ко всем страницам сайта можно при помощи правила:
Чтобы наоборот убрать слеш в конце ссылок на страницы сайта, внесите в файл .htaccess следующие директивы:
RewriteEngine on
RewriteBase /
RewriteCond % /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
В эти правила можно добавить исключение для конкретной директории, чтобы на нее правило перенаправления не действовало — например, если это обусловлено особенностями CMS сайта:
Добавьте эту строку в середину правила (под остальными RewriteCond) и измените имя директории из примера.
Сделать собственную страницу с ошибкой (ErrorDocument)
ErrorDocument 404 /error404.html
Закрыть сайт от посетителей
Временно закрыть сайт бывает нужно, например, во время обновления внешнего вида сайта. Подробно способы закрытия сайта средствами .htaccess мы разобрали в статье нашего блога. Рассмотрим наиболее популярные способы блокировки доступа ниже.
Запретить доступ по IP-адресу
Простая директива, в которой указываются списки IP-адресов доступа и запрет для остальных, выглядит так:
<RequireAll>
Require ip X.X.X.X
</RequireAll>
Вместо X.X.X.X укажите ваш IP-адрес (проверить его можно, например, здесь). Обращения с других IP-адресов завершатся ошибкой 403 Forbidden.
Если ваш интернет-провайдер выдаёт IP-адрес из какого-то диапазона, и его последние цифры могут меняться, IP-адрес можно указать не полностью или сразу с подсетью или все эти варианты сразу, через пробел:
<RequireAll>
Require ip X1.X1.X1.X1 X2.X2 X3.X3.X3.X3/24
</RequireAll>
Аналогичным вариантом будет:
order deny,allow
deny from all
allow from X.X.X.X
Однако, этот вариант уже признан устаревшим, хоть ещё иногда встречается.
Запретить доступ по User-Agent
Этот метод обычно требуется в случае, если доступ к сайту нужно запретить для роботов или программ, имеющих динамические IP-адреса. Подробно о User-Agent мы рассказали в статье нашего блога.
Для блокировки достаточно в начало файла .htaccess добавить директивы:
SetEnvIfNoCase User-Agent example1 bad_bot
SetEnvIfNoCase User-Agent example2 bad_bot
<RequireAll>
Require all granted
Require not env bad_bot
</RequireAll>
Вместо example1 и example2 укажите User-agent роботов или программ, доступ для которых требуется запретить.
Этот вариант самый предпочтительный, поскольку в bad_bot можно добавить сколько угодно User-Agent и заблокировать их одним небольшим правилом
Альтернативным вариантом будет:
<RequireAll>
Require all granted
Require expr % !
Правило ?i: делает регулярное выражение нечувствительным к регистру.
Такой вариант подойдёт, если нужно сделать особое правило блокировки на основе регулярных выражений.
Помимо % можно использовать и другие стандартные переменные сервера. Список других переменных и примеров регулярных выражений есть в официальной документации Apache.
Ещё один альтернативный вариант блокировки роботов:
RewriteEngine on
RewriteCond % “(example1|example2)” [NC]
RewriteRule .* - [F]
Этот вариант в свою очередь является одним из самых распространённых и тоже позволяет использовать регулярные выражения. Другие примеры можно найти в официальной документации Apache.
RewriteEngine on
RewriteCond % !^X.X.X.X$
RewriteCond % !^site-closed.html
RewriteRule ^.*$ site-closed.html
Поддомен открывается с ошибкой Internal Server Error (частный случай)
Для поддомена наследуются настройки .htaccess домена. Если в настройках .htaccess домена используются правила mod_rewrite, они могут приводить к некорректной работе поддомена. Добавьте в начало файла .htaccess поддомена следующую директиву:
Это правило отключит mod_rewrite для вложенной директории поддомена.
Установка индексного файла (DirectoryIndex)
При открытии директории без указания конкретного файла веб-сервер ищет индексные файлы index.html, index.php в порядке приоритета для отображения. Если индексные файлы отсутствуют, сервер возвращает ошибку 403 Forbidden, так как отображение списка файлов (листинг директорий) по умолчанию запрещено.
Чтобы установить в качестве индексного файла произвольный файл, следует добавить инструкцию:
Например, следующая инструкция предписывает веб-серверу при обращении к сайту открывать не страницу, а изображение example.jpg в папке pics сайта:
Настройки веб-серверов в Панели управления
В настройках базового веб-сервера вы можете изменять все директивы PHP, значение графы Changeable для которых соответствует PHP_INI_PERDIR или PHP_INI_ALL. Эти настройки будут иметь силу на всех сайтах, которые работают на этом веб-сервере.
Управлять абсолютно всеми параметрами PHP вы можете на расширенном веб-сервере, редактируя php.ini через его настройки.
Чтобы установить индивидуальные параметры PHP для отдельного сайта, используйте файл .htaccess. Через него можно управлять всеми параметрами, доступными для изменения на базовом веб-сервере – примеры самых востребованных перечислены ниже.
Отображать ошибки PHP (display_errors)
По умолчанию отображение ошибок PHP на хостинге отключено. Для того чтобы видеть текст ошибок PHP на странице сайта, добавьте в файл .htaccess директиву:
php_value display_errors 1
Включить журнал ошибок PHP (error_log)
Для того чтобы сохранять, изучать и исправлять ошибки включите их сбор и хранение с помощью следующих строк:
Директория в пути расположения файла должна существовать, а если ее нет — обязательно создайте папку вручную. Файл журнала будет создан при появлении первой ошибки.
Увеличить оперативную память для скриптов (memory_limit)
Для изменения ограничения на оперативную память для выполнения процесса используйте следующую директиву в .htaccess:
php_value memory_limit 512M
Вместо 512M укажите желаемый размер ограничения. Обратите внимание, что символ "M" (латинская M) указывается слитно со значением. Уточнить максимальное значение оперативной памяти, доступное по тарифу, можно в документе.
Увеличить время выполнения скриптов (max_execution_time)
Чтобы увеличить время выполнения скриптов (в секундах), добавьте следующую директиву в .htaccess:
php_value max_execution_time 300
Вместо 300 укажите желаемый размер ограничения. Обратите внимание, что выполнение скрипта более чем в 10 минут (600 секунд) завершится ошибкой с кодом 504.
Изменить объем загружаемого файла (post_max_size и upload_max_filesize)
По умолчанию через сайт можно загрузить файл объемом не более 1Гб. Чаще этот размер даже меньше — 100Мб, из-за ограничения на объем запроса методом POST.
Если вам нужно загружать файлы бóльшего размера, либо же ограничить их объем (чтобы контролировать дисковую квоту), то управлять объемом загружаемого файла можно через .htaccess:
php_value post_max_size 200M
php_value upload_max_filesize 200M
Вместо 200M укажите желаемый размер ограничения. Обратите внимание, что символ "M" (заглавная латинская M) указывается слитно со значением.
Передавать максимум переменных в PHP (max_input_vars)
Максимальный размер передаваемых переменных определяется с помощью следующей директивы:
php_value max_input_vars 15000
Вместо 15000 укажите необходимый размер ограничения, который требует CMS сайта.
Если страница в браузере загружается некорректно и вместо привычных символов на сайте отображаются иероглифы, добавьте в файл .htaccess строки:
AddDefaultCharset "windows-1251"
php_value default_charset "windows-1251"
Вместо "windows-1251" подставьте подходящую кодировку, например, UTF-8. Проверить, в какой именно кодировке написан сайт, можно через инструменты используемого браузера. Если сайт не обрел корректный вид, обратитесь за помощью в службу технической поддержки.
Обрабатывать интерпретатором PHP не только файлы .php (AddType)
Чтобы заставить интерпретатор PHP обрабатывать файлы с произвольным расширением, (например, .phtml), добавьте в файл .htaccess следующую строку:
Изменить время хранения сессий PHP
Изменение времени хранения сессий может потребоваться, если вы хотите, чтобы данные об авторизации пользователей на вашем сайте сохранялись дольше.
По умолчанию время хранения сессий — 1440 секунд (24 минуты). Для изменения этого значения добавьте в .htaccess следующие директивы:
Обратите внимание: при большом количестве посетителей и длительном времени сохранения сессий в папке, указанной в session.save_path, образуется большое количество файлов. Это может вызывать замедление сайта в момент очистки старых сессий и увеличивать количество потребляемых ресурсов. Альтернативные механизмы хранения и очистки сессий:
- Указывать вложенность директорий хранения сессий с помощью аргумента N в session.save_path и очищать старые сессии собственными скриптами (описание session.save_path в документации PHP).
- Реализовать собственный механизм хранения сессий (например, в MySQL) и установить его с помощью функции session_set_save_handler.
Другие настройки (CGI, Python, Node.js)
Включить SSI
Директивы SSI (Server Side Includes) по умолчанию обрабатываются в файлах с расширением .shtml (например, index.shtml). Чтобы SSI обрабатывались и в других файлах, необходимо в файле .htaccess указать типы этих файлов:
AddType text/html .html .ssi
AddOutputFilter INCLUDES .html .ssi
Вместо ".ssi .html" укажите расширения файлов, в которых должны обрабатываться директивы SSI. Использовать в одном и том же файле PHP и SSI одновременно не рекомендуется.
Выполнять скрипты CGI/Perl
Чтобы CGI/Perl-скрипты выполнялись в браузере, необходимо создать файл .htaccess и добавить в него строки:
Options +ExecCGI
AddHandler cgi-script .cgi .pl
SetEnv PERL5LIB /home/login/perl5:/home/login/perl5/lib/perl5:/usr/local/lib/perl5
SetEnv LD_LIBRARY_PATH /home/login/perl5/lib
Вместо ".cgi .pl" укажите список расширений, которые должны обрабатываться веб-сервером. Убедитесь, что у вас есть права на исполнение этих скриптов (например, 755). А в переменных PERL5LIB и LD_LIBRARY_PATH, которые указывают веб-серверу, откуда подгружать модули Perl, вместо login вставьте свой логин.
Включить uWSGI (Python)
Проектам на языке Python необходим файл .htaccess с таким содержанием:
DirectoryIndex site.wsgi
Options +ExecCGI
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond % !-f
RewriteCond % !-d
RewriteRule ^(.*)$ /site.wsgi/$1 [QSA,PT,L]
Вместо site.wsgi укажите входной файл вашего приложения.
Включить Node.js c помощью приложения Passenger
Чтобы обрабатывать скрипты Node.js, укажите в .htaccess следующие директивы:
У меня остались еще вопросы!
Если вы не нашли ответа на свой вопрос в этом разделе, то вы всегда можете обратиться к нам за помощью через форму обратной связи в разделе «Поддержка» Панели управления.
Во время работы с сайтом может возникнуть ситуация, требующая создания автоматического перенаправления с одного url-адреса на другой, которые принято называть словом «редирект». Это часто происходитит при переезде ресурсе на новый домен, при переходе на обновлённый адрес, а также изменении адресов страниц. Чтобы пользователи смогли найти страницу по новому адресу, их должно автоматически «перекидывать» со старого адреса на новый.
Правильно сделать такое перенаправления поможет постоянный редирект или 301 Redirect. Что это такое и как настроить расскажем в этой статье.
Что такое редирект 301
Для чего он нужен
Правильная настройка 301 переадресации имеет особое значение для SEO-продвижения ресурса. Только при этом условии изменение домена или перемещение контента могут пройти без потерь в поисковых значениях. Поисковая система поймёт, что страница была перемещена по всем правилам, после чего сохранит её прежний вес и позицию в выдаче.
Также полезно знать как настроить редирект при следующих обстоятельствах:
Способы настроить редирект 301
- Плагины для CMS. Особенно часто данный способ применяется для настройки 301 редиректа в WordPress.
- Настройка через PHP. Редирект осуществляется через задания дополнительного условия в PHP-скрипте. При обращении к корневому файлу php браузер получает указание открыть одну страницу вместо другой.
- Настройка при помощи HTML. Используется в случае, если необходимо изменить лишь одну страницу на статическом сайте. Редирект происходит путём добавления специальной метки (тега), в заголовок html-документа.
- JavaScript — операция через браузер. Скрипт загружается в ПО, это более медленный способ. Работает только при включенном JavaScript в браузере. Используются преимущественно для редиректа с задержкой, когда сначала посетитель сайта видит страницу с обратным отсчетом и текстом. Для настройки в тег <head> добавляется скрипт.
- Изменение файла .htaccess, отвечающего за дополнительную конфигурацию в серверах на Apache. Удобнее всего это сделать через панель управления хостингом.
Последний способ переадресации считается наиболее надежным, поэтому разберём его практически со всеми возможными вариантами.
Настройка 301 редиректа в .htaccess
Файл с расширением .htaccess – это дополнительный конфигурационный файл сервера Apache. Его используют для настройки веб-сервера, а также для обработки различных URL-адресов.
Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трёх директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.
Найти файл можно через панель управления хостинга (Cpanel, ISPmanager), либо использовать FTP-клиент. При любом варианте, нужно включить отображение скрытых файлов.
Предварительная подготовка
- Для создания 301 редиректа перейдите в панель управления вашего сайта.
- Проверьте наличие .htaccess файла в корневом каталоге сайта ( public_html ). Если файл отсутствует, создайте его.
- Рекомендуем все условия редирект записывать в блоке IfModule дабы избежать ошибок при выполнении файла htaccess.
- Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine), при помощи команды:
- Хостинги применяют по умолчанию 302 или любой другой 3xx редирект, В связи с этим в правилах используются флаги. Рекомендуем дописывать в своих правилах [R=301,L].
Далее разберём наиболее распространенные варианты 301 редиректа через .htaccess.
Склейка зеркал сайта (www / без www)
В поисковой системе сайт по одному адресу будет проиндексирован, а по второму адресу сайт будет зафиксирован как дубль, что может повлиять на продвижение ресурса. Для избегания дублей необходимо сделать так называемую «склейку» сайта, то есть прописать 301 редирект в .htaccess.
Если изначально в индекс поисковой системы попала версия «с www», в файл .htaccess добавляется редирект на «без www»:
Если произошла обратная ситуация и необходима переадресация с без «www» на «www», то в файл прописывается:
Для всего сайта
Если данная конструкция не сработает, попробуйте другой вариант:
Если циклическое перенаправление на страницах осталось, попробуйте такой вариант:
Если редирект не работает и в этом случае, попробуйте такой вариант:
Постранично
Для одной страницы
Изменение домена
В том случае если необходимо перейти на другой домен, при этом сохранив SEO позиции, в файл .htaccess прописывают следующее:
Редирект на страницу с другим url (без параметров)
Иногда возникает ситуация, когда необходимо изменить url страницы, то есть перенести данные с одной страницы на другую страницу, при этом не потеряв SEO значения. В этом случае в файл .htaccess прописывают следующее:
Редирект для url (с параметрами)
Редирект с index.php на главную
В тех случаях, когда главная страница сайта может быть недоступна по нескольким адресам одновременно, применяют следующую конструкцию:
Редирект со страниц со слешем на без слеша (для всего сайта)
Для избегания дублей в файле .htaccess используют следующую конструкцию:
Или более короткий вариант:
Редирект со страниц без слеша на слеш (для всего сайта)
Обратный вариант применяется, когда нужно использовать адреса со слешем.
301 редирект с 404 Not Found
301 редирект для страниц 404 Not Found сделать совсем несложно. Например, этот код перенаправит со всех 404-страниц на главную сайта:
Однако, делать такие редиректы в массовом порядке не рекомендуется, так как это может испортить SEO-статистику всего ресурса.
Финальный вид файла .htaccess
Пример файла htaccess, после добавления в него редиректов.
Постоянный редирект для Nginx
Этот веб-сервер наиболее часто используется в VPS-хостинге в связке с сервером Apache. В нем 301 редирект настраивается добавлением строк в конфигурационном файле nginx.config в секции server.
C www на без www
Без www на с www
После сохранения изменений в файле нужно перезапустить сервер выполнением команды « service nginx restart ».
Редирект для PHP
Этот вариант действует на уровне сервера. Он используется в тех случаях, когда редирект необходимо создать для большого количества страниц, не все из которых имеются на платформе.
- Загрузите файл index.php на жесткий диск.
- Сгенерируйте код.
- Вставьте код в текстовый файл, сохраните его и загрузите на сервер.
- Укажите основной URL в настройках сайта.
Редирект 301 в разных панелях управления хостингом
Cpanel
Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:
ISPmanager
Особенности редиректа для популярных CMS
WordPress
Для самой массовой CMS существуют десятки плагинов для создания постоянного редиректа. Наиболее популярные среди них: Redirection, Simple 301 Redirects, Quick Page, SEO Redirection и Safe Redirect Manager.
Сделать это можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключить к нему, потребуется использовать FTP-клиент. Процесс не отличается от общей инструкции для .htaccess.
OpenCart
Для Opencart редактируется файл .htaccess. Код переадресации выглядит так:
Битрикс
Для перенаправления на новую страницу достаточно отредактировать файл .htaccess, внеся в него такой редирект:
Joomla
В панели администратора этой CMS нужно перейти в раздел «Компоненты» => «Перенаправление». В окне можно настраивать правила редиректа для различных страниц, а также отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.
MODX
Для гибкой настройки переадресации стоит использовать плагин Redirector.
Автоматическое создание кода
Если самостоятельно создать код не получается из-за отсутствия знаний и опыта, можно попросить помощи у специалиста технической поддержки или воспользоваться автоматическими онлайн-генераторами.
Серверы для генерации кода
Циклическое перенаправление
Одна из самых распространённых проблем при настройке 301 редиректа — вероятность создания не одинарного перенаправления, а целой цепочки редиректов. Это может быть вызвано некорректной настройкой файла .htaccess, плагина CMS или прямым действием вируса. В очень вероятной перспективе такие «цепочки» приводят к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS».
Обнаружить циклическое перенаправление помогут бесплатные онлайн-сервисы проверки редиректа. Среди наиболее популярных:
Можно также установить специальные браузерные расширения для Google Chrome и Mozilla Firefox.
Действия при циклическом редиректе
- Если ошибка возникла в процессе настройки. Следует проверить корректность соблюдения правил работы 301 редиректа для конкретных адресов, по которым выдаётся ошибка.
- Если циклический редирект вызван вирусом. Когда зацикливание возникает при попытке открыть любой адрес на сайте, выход может быть один — откат к последней работоспособной версии, сохранённой в бекапе.
- Если зацикливание вызвано слишком длинной цепочкой редиректов (более пяти). Нужно сократить цепочку перенаправлений до одного шага.
Как узнать, что переадресация работает правильно
Для более точной информации можно использовать онлайн-сервисы отслеживания. С ними можно работать «в 1 клик» — достаточно просто вставить ссылку на интересующую страницу.
Заключение
Для того чтобы поисковая система считала два разных адреса одним сайтом, должна работать постоянная переадресация. 301 редирект — удобный и надежный инструмент для оптимизации сайта, исправления ошибок и недоработок на сайте.
Использовать данный инструмент необходимо с осторожностью. Ведь неправильная настройка может привести к сбою в работе или потере поисковых позиций сайта.
Чтобы сайт после редиректа не только открывался по нужному адресу, но и работал без сбоев, ему нужна надёжная хостинг-площадка. Размещайтесь на VPS от Eternalhost, чтобы забыть о технических сложностях и полностью сосредоточиться на развитии своего интернет-ресурса!
Файл .htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для достижения таких целей, как:
- Переадресация на другой домен
- Ограничение доступа к сайту
- Изменение значений директив PHP
- Отображение собственных страниц ошибок
Редактирование файла .htaccess поможет в решении следующих задач:
Домены с кириллическими символами
При использовании кириллических доменных имён в файле .htaccess, их необходимо указывать в формате Punycode. Перекодировать их можно с помощью данного сервиса.
Переадресация с одного сайта на другой
Для переадресации с одного сайта на другой достаточно добавить следующие строки в файл .htaccess:
где from\.com — имя домена, с которого должна осуществляться переадресация, а "to.com" - ее цель.
При этом экранирование символа точки обратной косой чертой \ во второй строке не является обязательным.
Переадресация поддомена в подкаталог сайта
Для переадресации запросов на поддомен в подкаталог сайта осуществляется путем добавления в файл .htaccess следующих строк:
Ограничение/разрешение доступа к сайту с определённых 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 файл:
<Files ПУТЬ_К_ФАЙЛУ>
Order Deny,Allow
Deny from all
Allow from IP
</Files>
где ПУТЬ_К_ФАЙЛУ - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешён доступ.
Назначение кодировки для заголовков отдаваемых сервером по умолчанию
Для назначения кодировки для заголовков отдаваемых сервером по умолчанию достаточно добавить:
Затруднения с отображением кодировок, как правило, связаны с тем, что устаревшее ПО (сайт, CMS) использует кодировку отличную от той, на работу с которой сконфигурирован сервер. Данная директива может помочь в устранении данной ошибки.
Корректная установка 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
Изменение значений директив register_globals или magic_quotes_gpc
Если используетcя PHP, установленный как модуль веб-сервера Apache, и не используются глобальные переменные, рекомендуется отключать опцию register_globals в целях безопасности. Отключение register_globals производится внесением в файл .htaccess строки:
php_flag register_globals off
В том случае, если "волшебные кавычки" включены, то спецсимволы, такие как одиночные и двойные кавычки будут экранироваться обратными слэшами "\", что не всегда удобно. В версиях PHP 5.4.0. и выше данная директива не поддерживается. Для отключения "волшебных кавычек" в .htaccess следует добавить строку:
php_flag magic_quotes_gpc off
Отображение возникающих ошибок PHP на странице
Иногда для произведения анализа работы сайта может потребоваться отображение возникающих ошибок PHP в браузере. Эту задачу можно решить добавлением двух строк в файл .htaccess:
php_flag display_errors on
php_value error_reporting -1
Указание собственной страницы ошибок
Временное отключение кеширования OPCache
php_value opcache.revalidate_freq 0
Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2 по следующим ссылкам:
Что такое 301 редирект
301 редирект для SEO
Корректно настроенный 301 редирект необходим для эффективного SEO-продвижения ресурса. Грамотно перемещенная страница не теряет позиций в выдаче и сохраняет свой прежний вес.
Пошаговая настройка
Настроить редирект можно двумя способами - с помощью панели управления или файла .htaccess.
Настройка через файл .htaccess
Что делать, если. htaccess отсутствует? Его нужно сделать и добавить код (без указания доменного имени):
Обратите внимание на то, что файл .htaccess обеспечивает редирект только при наличии точки. Без нее редирект просто не будет работать.
Склейка зеркал сайта
Поисковая система проиндексирует сайт по одному адресу, а по второму определит его как дубль. Это негативно влияет на продвижение, поэтому здесь нужна «склейка».
Если поисковая система в первую очередь индексирует версию с www, то файл .htaccess необходимо дополнить редиректом без www:
В обратной ситуации в файле прописывается следующее:
RewriteCond % ^v name.site [NC]
Если вы хотите сделать редирект 301 для всего сайта, то в файл .htaccess надо добавить:
Не сработало? Попробуйте по-другому:
Осталось циклическое перенаправление? Тогда сделайте так:
Не сработало? Попробуйте опять:
Постраничный редирект
Изменение домена
Чтобы перейти на другой домен без потери позиций в поиске, пропишите в файле .htaccess:
Редирект на страницу с другим url (без параметров)
В некоторых случаях необходимо поменять url страницы. Для переноса данных в .htaccess прописывают:
Редирект для url (с параметрами)
Редирект с index.php на главную
В некоторых случаях главная страница сайта недоступна сразу по нескольким адресам. Здесь следует применить такую конструкцию:
Редирект со страниц со слешем на страницы без слеша (для всего сайта)
Чтобы избежать дублей в .htaccess, сделайте следующее:
RewriteRule ^(.)/ /1 [R=301,L]
Существует и более «компактный» вариант:
RewriteRule ^(.+)/ /1 [R=301,L]
Редирект со страниц без слеша на слеш (для всего сайта)
Чтобы использовать адреса со слешем, используется обратный вариант:
RewriteRule ^(.[^/]) /1/ [R=301,L]
Постоянный редирект для Nginx
Этот сервер часто используется в VPS-хостинге в «тандеме» с сервером Apache. Для настройки редиректа в нем добавляются строки в файле nginx.config.
C www на без www
set host_without_www 1;
Без www на с www
Сохранив изменения, перезапустите сервер с помощью команды «service nginx restart».
Редирект для PHP
Такой вариант уровня сервера предназначен для создания редиректа для большого количества страниц, не каждая из которых имеется на платформе.
- Загрузка на жесткий диск файла index.php.
- Генерирование кода.
- Занесение кода в текстовый файл с последующим сохранением и загрузкой на сервер.
- Указание основного URL в настройках сайта.
Редирект 301 в разных панелях управления хостингом
Чтобы сделать 301 редирект Cpanel, выполните следующее:
-
Зайдите в блок «Домены» и выберите «Перенаправления».
Средства этой панели управления не предназначены для редиректа 301. Установить редирект можно, воспользовавшись файлом .htaccess.
Редирект для популярных CMS
Чтобы создать постоянный редирект для этой CMS, разработано множество плагинов, например, Quick Page, Safe Redirect Manager, Redirection и др.
Рассмотрим редирект через Redirection. Выполнить перенаправление можно через консоль сайта, зайдя во вкладку «Инструменты» или воспользовавшись разделом плагинов. Все, что нужно, - это заполнить два поля - Source URL и Target URL, указав в первой графе старый адрес, а во второй новый.
Еще один вариант - отредактировать файл .htaccess в разделе управления хостингом. Для подключения нужен FTP-клиент. Процесс аналогичен с обычным редактированием .htaccess.
Для перенаправления на новую страницу в системе Bitrix достаточно отредактировать файл .htaccess, внеся в него такой редирект:
Автоматическое создание кода
Иногда собственных навыков и опыта не хватает для самостоятельного создания кода, и тогда вы можете обратиться в техподдержку или применить автоматические онлайн-генераторы.
Чтобы поисковая система распознавала два разных адреса как один сайт, должна исправно работать постоянная переадресация. Для оптимизации сайта, устранения неполадок и недоработок есть надежный инструмент - 301 редирект.
Пользуйтесь этим инструментом осторожно и с умом, чтобы не вызвать сбой в работе и не потерять позиции сайта в поисковиках.
Читайте также: