19 полезных возможностей файла .htaccess

Содержание:

Частные случаи

Двойное перенаправление

Двойное перенаправление — перенаправление А, установленное для перехода на перенаправление Б. Возникает, в случае если страница, на которую по задумке автора должно переводить перенаправление А, оказалась переименована. Иногда создаётся умышленно в целях вандализма (т. н. дятлинга).

Для поиска двойных перенаправлений необходимо использовать одноимённую служебную страницу. Их можно исправлять вручную или с помощью скрипта RedirectManagement.

Разорванное перенаправление

Разорванное перенаправление — перенаправление, ведущее на несуществующую (как правило, удалённую) страницу.

Отмечается на одноимённой служебной странице. Исправляется путём удаления вручную или с помощью скрипта RedirectManagement.

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

Взаимное перенаправление

Взаимное перенаправление — перенаправление А, ведущее на перенаправление Б, который возвращает читателя к перенаправлению А.

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

Рекурсивное перенаправление

Рекурси́вное перенаправление, или реку́рсия, — перенаправление, перенаправляющее само на себя.

Иногда создаётся участниками как шутка или для вандализма, практического применения не имеет.

Мягкое перенаправление

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

См. ]
Эта информация расположена в ]
Читайте ]

и т. п.

Как правило, мягкие перенаправления возникают из-за неопытности автора. Случаи, когда их создание оказывается следствием умышленной политики конкретного проекта, крайне редки. Причиной такого может являться разве что желание администрации увеличить число статей на вики (злокачественный ), поскольку стандартные перенаправления в счётчике не учитываются.

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

Что такое RivaTuner Statistics Server? Как установить, настроить и пользоваться программой?

Настройки веб-серверов в Панели управления

В настройках базового веб-сервера вы можете изменять все директивы PHP, значение графы Changeable для которых соответствует PHP_INI_PERDIR или PHP_INI_ALL. Эти настройки будут иметь силу на всех сайтах, которые работают на этом веб-сервере.

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

Чтобы установить индивидуальные параметры PHP для отдельного сайта, используйте файл .htaccess. Через него можно управлять всеми параметрами, доступными для изменения на базовом веб-сервере – примеры самых востребованных перечислены ниже.

По умолчанию отображение ошибок PHP на хостинге отключено. Для того чтобы видеть текст ошибок PHP на странице сайта, добавьте в файл .htaccess директиву:

Для того чтобы сохранять, изучать и исправлять ошибки включите их сбор и хранение с помощью следующих строк:

Директория в пути расположения файла должна существовать, а если ее нет — обязательно создайте папку вручную. Файл журнала будет создан при появлении первой ошибки.

Для изменения ограничения на оперативную память для выполнения процесса используйте следующую директиву в .htaccess:

Вместо 512M укажите желаемый размер ограничения

Обратите внимание, что символ «M» (латинская M) указывается слитно со значением. Уточнить максимальное значение оперативной памяти, доступное по тарифу, можно в

Чтобы увеличить время выполнения скриптов (в секундах), добавьте следующую директиву в .htaccess:

Вместо 300 укажите желаемый размер ограничения

Обратите внимание, что выполнение скрипта более чем в 10 минут (600 секунд) завершится ошибкой с кодом 504

Если вам нужно загружать файлы бóльшего размера, либо же ограничить их объем (чтобы контролировать дисковую квоту), то управлять объемом загружаемого файла можно через .htaccess:

Вместо 200M укажите желаемый размер ограничения

Обратите внимание, что символ «M» (заглавная латинская M) указывается слитно со значением

Максимальный размер передаваемых переменных определяется с помощью следующей директивы:

Вместо 15000 укажите необходимый размер ограничения, который требует CMS сайта.

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

Вместо «windows-1251» подставьте подходящую кодировку, например, UTF-8. Проверить, в какой именно кодировке написан сайт, можно через инструменты используемого браузера. Если сайт не обрел корректный вид, обратитесь за помощью в службу технической поддержки.

Чтобы заставить интерпретатор PHP обрабатывать файлы с произвольным расширением, (например, .phtml), добавьте в файл .htaccess следующую строку:

Изменение времени хранения сессий может потребоваться, если вы хотите, чтобы данные об авторизации пользователей на вашем сайте сохранялись дольше.

По умолчанию время хранения сессий — 1440 секунд (24 минуты). Для изменения этого значения добавьте в .htaccess следующие директивы:

Обратите внимание: при большом количестве посетителей и длительном времени сохранения сессий в папке, указанной в session.save_path, образуется большое количество файлов. Это может вызывать замедление сайта в момент очистки старых сессий и увеличивать количество потребляемых ресурсов

Альтернативные механизмы хранения и очистки сессий:

  1. Указывать вложенность директорий хранения сессий с помощью аргумента N в session.save_path и очищать старые сессии собственными скриптами ( в документации PHP).
  2. Реализовать собственный механизм хранения сессий (например, в MySQL) и установить его с помощью функции session_set_save_handler.

Синтаксис .htaccess

Синтаксис файла простой: каждая директива (команда) начинается с новой строки, после знака # можно добавлять комментарии, которые не будут учитываться сервером. Изменения на сайте вступают в силу сразу, перезагрузка сервера не требуется.

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

Основные спецсимволы:

  • ^ — начало строки;
  • $ — конец строки;
  • . — любой символ;
  • * — любое количество любых символов;
  • ? — один определенный символ;
  • — последовательность символов, например, от 0 до 9;
  • | — символ «или», выбирается или одна группа, или другая;
  • () — иcпользуется для выбора групп символов.

Основные переменные:

  • %{HTTP_USER_AGENT} — поле User-Agent, которое передает браузер пользователя;
  • %{REMOTE_ADDR} — IP адрес пользователя;
  • %{REQUEST_URI} — запрашиваемый URI;
  • %{QUERY_STRING} — параметры запроса после знака ?.

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

Возможные проблемы с сайтами Opencart (русской сборки OcStore)

При редактировании файла

Так как в русской сборке OcStore после установки файл имеет имя htaccess.txt следует для исправления выполнить следующую посетить корневую папку сайта и найти файл «.htaccess.txt».

Переименовываем его и удаляем часть «.txt», так, чтобы файл назывался «.htaccess».

Переходим в «Дополнения»-«Менеджер дополнений» и очищаем Кеш (кнопка в правом-верхнем углу).

Все готово.

При работе с HTTPS

В первую очередь следует проверить настройки магазина перед перенаправлением на https так как в противном случае сайт может работать некорректно или не работать вовсе.

Далее переходим в сервер и выбираем.

Прокручиваем список и во вкладке «Безопасность» ставим «Да» у «Использовать SSL».

После этого переходим в на сервер в корневую папку и проверяем файл «config.php».

В нем в части про HTTPS проверяем указан ли адрес сайта как «https://site.ru», если нет указываем.

Аналогично следует проверить корректность отображения административной части, что необходимо сделать перейдя в папку «Admin».

Теперь открываем еще один файла «config.php».

Аналогично ищем ссылки на сайт с защищенным протоколом define и при необходимости исправляем на правильные (с https).

Подписывайтесь на наши социальные сети

Понятие и назначение безопасного режима

В Windows 7 присутствуют диагностические режимы запуска операционной системы для решения тех или иных проблем. Один из них – безопасный или Safe mode (ещё называется режимом устранения сбоев) предназначен для выявления и устранения неполадок в Win 7, работе драйверов и аппаратных компонентов компьютера. В безопасном режиме запускается минимально возможный перечень процессов, служб и драйверов, необходимых для обеспечения работы операционной системы и основных аппаратных компонентов. Благодаря функционированию с ограниченными возможностями быстрее выявляются проблемы, ведь прикладное программное обеспечение не активно.

Что такое HTTPS/SSL?

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. При использовании HTTPS данные передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443. Более подробное описание этого протокола можно прочесть в Wikipedia.

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

Посетители Ваших сайтов будут уверены в конфиденциальности данных и достоверности страниц, а как дополнительное преимущество использования SSL — большее доверие пользователей к сайту и более высокие позиции в поисковых системах!

14-08-20

Как отключить переадресацию?

Отключить переадресацию можно почти так же, как и включить. Необходимо:

Шаг 1 — отключить принудительное перенаправление.Если перенаправление было включено в разделе «Сайты» Панели управления — соответствующую опцию необходимо отключить, если в .htaccess были добавлены соответствующие правила — нужно удалить их из файла.

Шаг 2 — отключить поддержку HTTPS в панели администратора сайта.Для соответствующих опций, которые менялись на этапе включения переадресации, необходимо вернуть прежние значения.

Шаг 3 — очистить кэш вашего сайта.Информацию о том, как это сделать, можно прочитать в или уточнить у разработчика сайта.

Проксирование

Проксирование, в отличие от редиректа, не передает инструкции браузеру перейти на другой url — NGINX сам выполняет http-запрос по другому адресу и возвращает готовый ответ. Эта возможность может применяться для внутреннего распределения серверных ресурсов.

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

1. На другой сервер

Пример внутреннего перенаправления http-запроса на другой веб-сервер:


location / {
            proxy_pass $scheme://192.168.0.15:8080/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}

* в данном случае, принимать запросы от браузера и отвечать на них будет NGINX, а сама обработка будет выполняться на сервере с IP-адресом 192.168.0.15 на порту 8080.

Использование NGINX в качестве http-прокси:

server {
        …
        server_name site1.ru www.site1.ru;
        location / {
            proxy_pass http://192.168.1.21/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}
server {
        …
        server_name site2.ru www.site2.ru;
        location / {
            proxy_pass http://192.168.1.22/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

* в данном примере запросы на site1.ru будут перекинуты на сервер 192.168.1.21, а запросы на site2.ru — 192.168.1.22.

HTTP proxy с авторизацией (если удаленный веб-сервер требует аутентификации):

server {
    …
    location / {
        proxy_pass http://10.10.10.10/page/;
        proxy_set_header Authorization «Basic dGVzdDp0ZXN0»;
        …
    }
}

* где 10.10.10.10/page — страница, на которую будут перекинуты запросы; dGVzdDp0ZXN0 — логин:пароль test:test, закодированные в формате base64.

2. Часть url на другой сервер

Выше мы рассмотрели пример перенаправления запроса по части веб-адреса. По схожему сценарию мы можем делать проксирование:

server {
    …
    location  ~ ^/page1/(.*)$ {
        proxy_pass   $scheme://10.10.10.10/$1;
    }
}

* и так, в данном примере при обращении по адресу site.ru/page1/<что-то еще>, nginx сделает внутренний запрос на сервер 10.10.10.10 по адресу 10.10.10.10/<что-то еще> и вернет готовый ответ.

3. На другой сайт

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

server {
    …
    location / {
        proxy_pass https://www.dmosk.ru;
        proxy_set_header   Host             www.dmosk.ru;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

* в данном случае мы при обращении к нашему серверу будем попадать на сайт https://www.dmosk.ru

Обратите внимание, что в proxy_set_header мы передаем хосту его имя — в противном случае, как правило, другой сервер вернет ошибку. Также мы не указываем proxy_redirect, иначе, nginx будет переводить запросы на реальный сайт (отправлять инструкции браузеру перейти на него), а не тот, что мы используем за http-прокси

4. Редиректы при проксировании

Если при проксировании хост возвращает инструкцию браузеру для выполнения редиректа, обозреватель может сменить адрес сайта. Это особенно не удобно, когда проксирование мы выполняем на другой сайт. Чтобы отловить редиректы и заменить их своими значениями, мы должны воспользоваться опцией proxy_redirect. Рассмотрим ее применение для предыдущего примера, когда мы проксировали запрос на сайт www.dmosk.ru:

server {
    listen 80;
    server_name dmosk.local www.dmosk.local;
    location / {
        proxy_pass https://www.dmosk.ru;
        proxy_set_header   Host             www.dmosk.ru;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_redirect https://www.dmosk.ru/url1 http://dmosk.local/url2;
        proxy_redirect https://www.dmosk.ru/ http://dmosk.local/;
    }
}

* в конкретном случае мы проксируем запросы http://dmosk.local на сайт www.dmosk.ru, но если он вернет инструкцию для редиректа https://www.dmosk.ru/url1, в браузере он должен быть заменен на http://dmosk.local/url2. А также любое перенаправление для https://www.dmosk.ru/ будет заменено на http://dmosk.local/.

Различия между http и https

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

Https зашифровывает весь поток информации, которой сайт обменивается с браузером. Благодаря этому третьим лицам не удастся перехватить банковские реквизиты, данные для доступа, электронные почтовые адреса и номера телефонов. Стоить SSL сертификат начинается от 15$. С ростом уровня подтверждения данных в SSL сертификате, стоимость сертификата растет.

3 варианта как сделать редирект с http на https

Редирект с http на https на уровне сервера

Этот вариант перенаправления имеет ряд преимуществ. Технология такого решения предполагает прием сервером, который имеет сертификат SSL, закодированных HTTPS-запросов с последующей передачей кодированного ответа о перенаправлении без установления связи с сервером приложения.

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

В некоторых случаях (например, при отсутствии доступа к серверной конфигурации) невозможно реализовать перенаправление на базе сервера. Такие ситуации возникают при размещении ресурса на виртуальном хостинге или таких платформах, как Heroku, Azure или Google Platform. В этом случае остается вариант с использованием приложений.

HTTPS перенаправление на базе приложений

Этот вариант снижает скорость процесса, так как сервер должен провести обработку кодировки приложения и только после этого выдать ответ. Процесс перенаправления зависит от используемого языка программирования.

Другие варианты редиректа с HTTP на HTTPS

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

Для таких случаев можно рекомендовать поиск информации о том, предоставляет ли конкретная платформа HTTPS-редиректы для настройки. С другой стороны, можно использовать независимое приложение для перенаправления.

Оставить заявку

Настраиваем редиректы для SEO

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

При настройке 301 редиректов помните о двух правилах:

  1. Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
  2. Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 100% случаев, поэтому с размещением директив нужно экспериментировать.

1. Настраиваем постраничные 301 редиректы

Это потребуется в следующих случаях:

  • изменилась структура сайта и у страницы поменялся уровень вложенности;
  • страница перестала существовать, но нужно сохранить ее входящий трафик (например, в случае отсутствия товара обычно делают переадресацию на товарную категорию);
  • поменялся URL, что крайне нежелательно, но тоже встречается.

Просто удалить страницу — плохая идея, лучше не отдавать роботу ошибку 404, а перенаправить его на другой URL. В этом случае есть шанс не потерять позиции сайта в выдаче и целевой трафик. Настроить 301 редирект с одной страницы на другую можно при помощи директивы простого перенаправления:

  • — адрес страницы от корня, без протокола и домена. Например, .
  • — полный адрес страницы перенаправления, включая протокол и домен. Например, .

2. Избавляемся от дублей

Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:

  • редирект на страницы со слешем в конце URL или наоборот;
  • главное зеркало — основной адрес сайта в поиске.

Сделать это можно при помощи модуля . В его составе используются специальные команды — директивы сложного перенаправления. Первой командой всегда идет включение преобразования URL:

Переадресация на слеш или наоборот

Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.

Код 301 редиректа на страницы без слеша:

3. Настраиваем главное зеркало

Для начала нужно определиться, какой адрес будет являться основным для поиска. SSL-сертификат давно уже мастхэв. Просто установите его и добавьте правило в .htaccess. Не забудьте также прописать его в robots.txt.

Редирект на HTTPS

Определять, с «www» или без будет главное зеркало, можно несколькими способами:

  • добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
  • проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
  • для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.

После того как выбор сделан, воспользуйтесь одним из двух вариантов кода.

Редирект с без www на www

4. Перенаправляем с одного домена на другой

Самая очевидная причина настройки этого редиректа — переадресовать роботов и пользователей на другой адрес при переезде сайта на новый домен. Также им пользуются оптимизаторы для манипуляций ссылочной массой, но дроп-домены и PBN — серые технологии продвижения, которые в рамках этого материала мы затрагивать не будем.

Воспользуйтесь одним из вариантов кода:

или

Не забудьте поменять в коде «mysite1» и «mysite2» на старый и новый домен соответственно.

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://domain.ru/$1

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} !robots.txt

RewriteRule ^(.*)$ https://domain.ru/$1

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{HTTP_HOST} ^domain\.ru$

RewriteRule ^(.*)$ https://www.domain.ru/$1

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Как сделать с помощью Nginx редирект с https на http

Файл Nginx должен содержать 2 секции server (для https и сайта http). В секции http нужно сделать редирект всех запросов на https. Для этого используется директива return. После этого выполняется обработка 2-й секции. К примеру:

server {

server_name losst.ru ;

charset off;

index index.php;

ssi on;

return 301 ;

set $root_path /var/www/losst/data/www/losst.ru;

root $root_path;

listen :80 default_server;

}

2-я секция уже с обработкой SSL принимает запросы на 443 порту:

server {

server_name losst.ru ;

ssl on;

ssl_certificate «/var/www/losst/losst.ru_le2.crtca»;

ssl_certificate_key «/var/www/losst/losst.ru_le2.key»;

ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;

ssl_prefer_server_ciphers on;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

add_header Strict-Transport-Security «max-age=31536000;»;

charset off;

index index.php;

set $root_path /var/www/losst/data/www/losst.ru;

root $root_path;

listen :443 default_server;

}

Здесь все достаточно понятно: инструкция return обеспечивает возврат нужных кодов ответов сервера. Мы осуществляем возврат кода 301 и вводим адрес куда будет перенаправлен посетитель. Помимо инструкции return, может использоваться и rewrite. Здесь нужно выполнить такие же действия:

rewrite ^/(.*)$ permanent;

Это стандартная запись регулярных выражений. В 1-й строке нужно выделить группу строк запросов, а во 2-й прописать правильное доменное имя. Директива может использоваться и без блока server:

if ($host ~* ^(losst\.ru|www\.losst\.ru)$ ){

rewrite ^/(.*)$ permanent;

}

На этом этапе нужно сохранить файл и выполнить тестирование конфигурации nginx:

 sudo nginx -t

Если проверка прошла успешно, сделай перезапуск Nginx:

 sudo systemctl restart nginx

Теперь проверьте ответ сервера при помощи curl:

 curl -I losst.ru

Можно также дать возможность программе пройти весь путь редиректа:

curl ILa losst.ru

Сделать настройку перенаправления на https nginx не очень сложно. Все настройки сводятся к внесению строки в файл «конфиг». Редирект с https на http nginx настраивается аналогично. Необходимо только изменить несколько символов в параметрах retrun. Обязательно нужно выполнять проверку настроек перенаправлений с www и на https. Этот момент особенно важен для СЕО продвижения.

Вас также может заинтересовать: Повышение конверсии сайта: реальные способы и пошаговая инструкция

Как правильно перенести сайт с протокола http на https

Редирект с http на https WordPress

Редерикт должен работать по умолчанию, если вы все верно настроили в админке, если этого не произошло то можно воспользоваться советом ниже.

Не торопитесь с настраивать редирект редирект с http на https wordpress. Если к примеру для Гугла это можно сделать сразу, то с Яндексом следует повременить, дождавшись объединения доменов.

Откройте .htaccess и в начале файла вставьте следующие данные:

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^{3,9}\ /(.*)\ HTTP/  

RewriteCond %{HTTPS} off  

RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}%{QUERY_STRING} 

Если это не помогло, то попробуйте Вариант №1. Тут мы настраиваем 301 редирект в серверной части:

RewriteEngine On 

RewriteCond %{HTTPS} =off 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Вариант №2, используя php:

add_action('init', 'redirect_http_to_https'); 

function redirect_http_to_https(){ 

if( is_ssl() ) return; 

if ( 0 === strpos($_SERVER, 'http') ) 

wp_redirect( set_url_scheme( $_SERVER, 'https' ), 301 ); 

else 

wp_redirect( 'https://' . $_SERVER . $_SERVER, 301 ); 

exit; 

}

Этот код лучше ввести в файле functions.php темы сайта. Иначе, поменяв тему у вас слетят настройки всех редиректов. Для решения проблемы годятся все способы из перечисленных. Однако Вариант №1 считается более удачным, так как лучше, чтобы сервер обрабатывал запросы, а не PHP.

Путь хранения файлов сессий

Как влияет редирект с http на https на SEO

После настроек редиректа с http на https обязательно измените адрес своего ресурса robots. txt (нужно  указать новое главное зеркало в панели вебмастера для поисковиков).

Позиции сайта первое время после установки редиректа могут снизиться, но лишь на небольшой промежуток времени. Чем раньше вы выполните перенастройку, тем менее значительные скачки будут по SEO выдаче.

Рекомендации, которые предоставил Яндекс в отношении данного редиректа:

  1. Добавить ресурс в панель Яндекс-вебмастер.
  2. Произвести настройку в robots директивы Host  (нужно, чтобы robots. txt нового и старого ресурса не отличался).
  3. После того, как оба сайта будут признаны зеркалами, необходимо изменить протокол в сервисе «Настройки индексирования — Главное зеркало». Через несколько недель будет определено основное зеркало.
  4. Установить перенаправление со старого протокола на новый.

Рекомендации по редиректу от Google:

  1. Добавить ресурс в Search Console.
  2. Проверить наличие редиректа 301 со всех страниц на новый сайт (редирект страницы с http на https).
  3. Использовать сервис «Изменение адреса в настройках».

Редирект с http на https поможет в продвижении сайта только тогда, когда с вашим ресурсом все в порядке. А узнать, все ли хорошо с вашим сайтом, поможет наш аудит.

Оставить заявку

Как сделать редирект через файл htaccess для интернет-магазина на Opencart

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

Redirect 301 site.ru/page1/ site.ru/page2/

Где:

  • page1- страница которая будет переадресовывать;
  • page2 – открывающийся документ.

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/. Также допускается использование конструкции:

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта на Opencart (public_html) лежит файл htaccess :

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector