Решено: Как настроить 301 редирект с HTTP на HTTPS
Редирект на Linux-хостинге
Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления.
Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.
Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS
Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ISPmanager
Откройте панель управления ISPmanager и перейдите в раздел «WWW-домены». Выберите домен, который должен открываться по HTTPS и нажмите Изменить. Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Как настроить 301 редирект в htaccess:
- 1. Откройте вашу панель управления хостингом.
- 2.
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htaccess
Обратите внимание: в cPanel файл .htaccess скрыт по умолчанию. Чтобы приступить к редактированию файла, в настройках измените видимость скрытых файлов.
/test.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] - 4.
Сохраните изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошёл, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
1653
раза уже
помогла
Редирект с http на https (с https на http)
Чтобы настроить перенаправление с http на https при обращении к сайту, нужно написать в конфигурационном файле веб-сервера определенное правило.
Apache
Откройте файл .htaccess для редактирования и допишите в него следующий блок:
RewriteEngine On RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on RewriteRule ^(. http://www.mydomain.com$request_uri? permanent; } server { listen 80; server_name www.mydomain.com; ..... }
Если вторая секция (с основными настройками домена) существует, то внесите в нее изменения, добавив две указанные выше строки.
Выполните перезагрузку веб-сервера Nginx командой:
service nginx restart
Ошибочный редирект с https на http://$host:443
Ошибка неверного порта при отдельных переходах по страницам характерна не только для Виртуальной Машины, а и многих самостоятельных конфигураций с Nginx. Однако, данная ошибка присутствует во всех VM Bitrix на протяжении последних лет.
Как проявляется баг?
Самыми частыми симптомами появления проблемы являются появившиеся ошибки в отчетах поисковых краулеров Google и Яндекс. В один прекрасный день после перехода на https протокол в отчетах начинают попадаться ошибочные страницы с url — http://host.com:443/page или наоборот https://host. com:80/page
Простым взглядом на строки легко понять, что проблема кроется в том, что страница «находящаяся» на https пытается быть открытой по протоколу http или в «иную сторону».
Зачастую найти точки входа ботов на ошибочные страницы довольно сложно. Это могут быть результаты поиска, переход после авторизации, результаты форм и что угодно еще. Радует то, что по-большому счету искать причину и не нужно. Главное устранить эти «нелогичные» редиректы на уровне сервера.
Отдельным случаем проявления данной проблемы является открытие страницы с <i>ошибкой 400</i>. На данной странице красуется сообщение: The plain HTTP request was sent to HTTPS port
Правим конфиги «Виртуалки»
/etc/httpd/bx/conf/bx_ext_fgstockstudio.com.confЕсли у вас на виртуальной машине работает один сайт, то понадобится найти файл конфига Апапч:
/etc/httpd/bx/conf/default.conf
и над ServerAdmin [email protected] вставляем
ServerName https://YOUR_SITE
При многосайтовой конфигурация виртуалки делаем тоже самое, но в файле нужного сайта bx_ext_YOUR_SITE. conf
Альтернативный способ
Иногда описанного выше недостаточно. Приходится идти глубже и править директивы связанные с страницами ошибок. Ищем файл отвечающий за конфиг nginx нашего ssl домена
/etc/nginx/bx/site_avaliable/ssl.s1.conf
Добавляем error_page 497 https://$host$request_uri;. Получим нечто похожее на:
# Default SSL certificate enabled website server { listen 443 default_server http2; server_name _; # Enable SSL connection server_name_in_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; proxy_set_header Host $host:443; proxy_set_header HTTPS YES; set $proxyserver "http://127.0.0.1:8888"; set $docroot "/home/bitrix/www"; index index.php; root /home/bitrix/www; include bx/conf/bitrix. conf; # Include server monitoring API's include bx/server_monitor.conf; error_page 497 https://$host$request_uri; }
Проблема должна исчезнуть. Если вам известны иные методы напишите нам в комментариях.
Решение наверняка 🙂
Если не помогло все вышеописанное и ошибка остается — то причина в файле настроек nginx :
/etc/nginx/bx/site_avaliable/bx_ext_s1.conf
Нужен именно файл обычного протокола http (bx_ext_), а не https (bx_ext_ssl)
Добавляем return 301 https:/YourDomain.com$request_uri;. Получим нечто похожее на:
# Ansible managed # Additional website http server { listen 80 ; server_name YourDomain.com www.YourDomain.com; return 301 https://YourDomain.com$request_uri; ... ... error_page 497 https://$host$request_uri; }
В 2020 году кроме коронавируса появилось еще что-то новое . .. и иногда нужно колдовать совсем не с nginx, а с http. Альтернативное решение описали тут.
HTTP и HTTPS протоколы чем отличаются, что означает и расшифровка
Переехать из одного офиса в другой – сложно и долго, нужно собирать разные документы и вещи, а также как-то оповещать своих клиентов о новом адресе. Но что делать с веб-ресурсом? Иногда компании нуждаются в «переезде» сайта. Тогда работа предстоит не меньшая – перевод страниц, целых разделов, а также работа с пользователями. И вручную делать все это очень неудобно. Поэтому есть специальные программы и алгоритмы для автоматизации процесса. Расскажем, как сделать и настроить автоматическую переадресацию с http на https через htaccess в короткие сроки.
“Студия 17” занимается не только разработкой, но и оказывает оперативную и качественную техническую поддержку проектов. Если вы всё таки решили попробовали настроить переезд сайта на безопасный протокол самостоятельно, то специалисты “Студии 17” рекомендуют:
- Сделать резервную копию всего сайта.
- Сохранить старую версию файла htaccess.
Два этих пункта впоследствии помогут восстановить сайт при неправильной настройке регулярного выражения.
На случай если вы не привыкли рисковать, то мы предлагаем обратиться за помощью в нашу техническую поддержку.
Redirect 301: термин
Это процедура перенаправления пользователя с электронного адреса на другой. Юзер фактически не замечает, что был переадресован, но при этом попадает не на старый сайт, а на его аналог. Как правило, такая услуга требуется во время перехода с одного хостинга на другой, при расширении структуры. Иногда перевод осуществляется в рамках одного веб-ресурса с одной страницы на другую.
Переадресация может быть на сервере или в браузере. Если выбран серверный вариант, то это не приведет к зависанию и медленной загрузке у пользователя, поэтому это более правильное решение.
Редирект 301 – это самый распространенный и удобный способ перенаправления наравне с кодом 302. Это ответ сервера. И он значит, что данный адрес прекратил свое существование, а все данные с него перешли на другой URL.
Задачи
В основном знания, как сделать настройку 301 редиректа с http на https через htaccess, необходимы для поискового продвижения ресурса. Дело в том, что перенос контента и доменного имени должен быть осуществлен корректно, тогда сайт не потеряет своего места в ТОПе поисковиков.
В основном процедура применяется в следующих случаях:
- Создание нового интернет-магазина, корпоративного портала или лендинга.
- Для начала использования защитного сертификата безопасности SSL (по сути это самый основной перевод с добавлением одной, казалось бы, незначительной буквы s).
- Изменение URL. Часто это вынужденные меры, принятые из-за SEO-оптимизации. Для продвижения очень важно, чтобы все урлы (единые указатели ресурса) были читаемыми. То есть вместо набора символов – название раздела в транскрипции.
- Использование поддоменов (субдоменов), то есть доменного имени меньшего уровня.
- Сбор трафика, идущего с одинаковых адресов, но с разными доменными зонами, то есть с окончаниями ru, com, net, org и т.д. Все они перенаправляются на единый ресурс.
- Удобный способ перекинуть пользователей, которые заходят не с компьютера, а с других устройств, на мобильную версию с определенной адаптацией.
- Перенос данных с сайта с WWW на тот, который привычных трех W не имеет. Или их «склейка», чтобы не происходила потеря ссылочной массы и дублирования запросов.
Как установить и настроить 301 редирект с http на https: способы
Есть несколько популярных вариантов:
- Использование плагинов WordPress и в других системах управления.
- Изменение текста в файле PHP в браузере. Понадобится вписать дополнительный скрипт, чтобы при запросе открывалась не один веб-ресурс, а другой.
- Внесение дополнительного тега в HTML заголовок. Это подходит, когда нужно перенаправить не целый сайт, а только одну страницу.
- Применение JavaScript, который должен быть установлен на браузере. Это достаточно медленный переход. Юзер сперва видит то, откуда он уходит, а затем появляется следующий раздел.
- Redirect http to https через файл htaccess. Удобный способ, которым можно воспользоваться с помощью админки хостинга.
Вам решать, какой из вариантов наиболее подходит.
Использование .htaccess
Данным расширением обладают файлы на серверах Apache. Он отвечает за возможность настраивать некоторые параметры, а также за корректное отображение URL. Есть три директивы, которые могут работать с данным объектом, но сперва необходимо найти его месторасположение. Дадим пошаговый алгоритм.
Предварительная подготовка
Надо зайти в админку и перейти в корневой каталог. Здесь должен быть вышеупомянутый файл. Если его нет – создайте. Введите команду RewriteEngine On. Практически все хостинги работают по протоколу 301, 302 или другое трехзначное число, которое начинается с тройки.
После этого есть несколько вариантов, как сделать перенаправление с http на https через htaccess.
Склейка зеркал
Использование WWW в адресной строке является факультативным. По сути, как бы не ввел пользователь адрес, он попадет на один и тот же ресурс. Однако, поисковая система классифицирует эти два сайта (с WWW и без) как разные, но дублирующие друг друга по контенту. Дубли, неуникальные тексты – все это плохо индексируется как «Яндексом», так и Google, поэтому скорее всего приведет к потере трафика. Чтобы успешно проводить СЕО-продвижение, предлагается склеить эти два URL с помощью 301 редиректа. Для этого снова обращаемся к корневому файлу с расширением htaccess. Чтобы склейка произошла с аккумуляцией на сайт, начинающийся с трех W (или без них), в код необходимо прописать:
или
Переход на сайт с SSL-сертификатом безопасности
В этом случае протокол защиты определяется с помощью суффикса s в адресной строке. Здесь есть также несколько доступных вариаций.
Если сделать необходимо редирект всего веб-ресурса
Здесь есть три возможности: сработать через RewriteCond https on, server port 443 или http x forwarded proto, при этом в строке RewriteRule будет прописано:
- %{SERVER_NAME}%{REQUEST_URI} [R=301,L]; %{HTTP_HOST}%{REQUEST_URI} [QSA,L];
- %{HTTP_HOST}%{REQUEST_URI} [L,R=301], соответственно. /page.php, а в RewriteRule прописываем то же, что и при переводе через HTTP:X-Forwarded-Proto.
Редирект одной странички
Часто такие переадресации бывают на одном ресурсе, например, когда есть битые ссылки или нечаянно получившиеся дубли. Иногда это делается под разные ключевые запросы, когда суть разных терминов единая и должна вывести на одну услугу/товар. В таком случае набор команд будет точно такой же, как и рассмотренный в предыдущем разделе статьи, но с одним нюансом. В запрашиваемом урле RewriteCond %{REQUEST_URI}мы прописываем =/page.php.
Что настраивать, когда нужно перейти с защищенного протокола
Казалось бы, зачем делать электронный переезд с защищенного сайта. Но дело в том, что Гугл с меньшей регулярностью заходит на ресурсы с SSL, а значит, может не сразу заметить обновления и проиндексировать их.
Ниже несколько вариантов команд, при этом учитываем, что в строке site.ru необходимо подставить URL ваших страниц.
Однако есть важный момент. Переадресация производится не моментально. При отсутствии сертификата безопасности сперва браузер высвечивает предупреждение о незащищенном контенте, а только после этого перекидывает на страницу.
Изменение доменного имени
Здесь важной целью является сохранение всех настроек оптимизации и достижений SEO, а также – не растерять всех пользователей, которые привыкли к старому адресу. В таком случае подойдет такая команда:
Переход на страницу с другим адресом без параметров
Так называют набор символов, который находится в хвосте URL, начинается после знака «?», а заканчивается #. Когда этого окончания нет, то команда выглядит следующим образом:
С переменной
Наличие такого хвоста позволяет системам веб-аналитики (от поисковых систем) лучше понять, что вы за компания, чем занимаетесь, как правильно проводить индексацию ваших страниц. Чтобы не потерять динамичный параметр при переезде, нужно прописать:
Со стартового файла index.
phpТакой способ актуален, когда переход на главную страницу сайта по каким-то причинам не доступен с разных начальных точек. Команда:
Убираем слеш в конце адресной строки
Косая черта в адресе обычно говорит серверу, а также юзеру, что это раздел между одним разделом и подразделом, хорошо действует в каталоге и многостраничнике с разветвленной системой. Но зачем ставить ее на самом конце, когда после уже наверняка ничего не идет?
С точки зрения практики, абсолютно все равно, будет ли стоять «/», но для сеошников это важно. Ведь наличие двух аналогичных URL с разницей только в слеше приведет к дублю страницы.
Еще одна причина – привычки синтаксиса программистов. Многие считают, что папку с документом нужно указывать без косой черты, а если речь про раздел каталога, например, то следует ее оставить.
Поможет команда, чтобы убрать дублированные ссылки и оставить переход на одну из них:
Переводим на URL со слешем в конце
Аналогичная процедура, только с обратным эффектом. Таким образом можно сделать переадресацию:
Код 404
Ошибка Not Found присваивается несуществующей странице, а также при неверном вводе адреса. Если вы имеете дело с интернет-магазином или другим сайтом с большим наполнением контента, важно перекинуть пользователя на главную, чтобы он не уходил с удаленной странички. Процедура переадресации проста:
Как выглядит файл htaccess с SSL
–сертификатомПроизведя несколько редиректов внутри корневой папки, можно увидеть вот такую (или похожую) картину:
Работаем с Nginx
Это веб-сервер, на котором работают около 30% сайтов во всем мире. У него мощный потенциал. И, конечно, в нем можно сделать 301 redirect. Для этого понадобится вносить изменения в nginx.config.
Отказываемся от трех W в начале
Без префикса домен короче, проще для запоминания. Некоторые сеошники считают, что такое доменное имя предпочтительнее, поскольку оно является вторым уровнем, а значит, это лучше сказывается на SEO. Но это не доказано. В любом случае, дубли не нужны, поэтому стоит внести переадресацию:
Возвращаем WWW
Аналогичная процедура, но с оставлением привычного префикса:
Как перенаправлять http запросы в https в PHP
Этот скриптовый язык поддерживается большинством хостинг-провайдеров, поэтому данный алгоритм будет актуален:
- Необходимо сохранить index.php на своем ПК.
- Из предложенных нами выше кодов необходимо сгенерировать собственный согласно ситуации.
- Полученную комбинацию следует добавить в файл, а его отправить на сервер.
- В настройках сайта стоит прописать основной адрес.
Как работать в разных хостинговых панелях
Она необходима для создания и управления сайтом. Обычно она идет в комплекте с хостингом, если нет, то проводить все операции понадобится через консоль, что является достаточно сложным и под силу только опытным специалистам.
Cpanel
Процедура делается в 4 шага:
- Type – permanent.
- Https://www – прописываем доменное имя своего ресурса.
- Redirects to – пишем полный адрес сайта.
- www.redirection – отметка возле redirect with or without www.
Готово, подтверждайте изменения.
ISPmanager
Можно пользоваться способами, которые мы расписали выше, то есть вписывать код в корневые файлы. Но есть возможность просто снять галочки с необходимых пунктов, как на изображении:
Для разных CMS
Используя ту или иную систему управление контентом, можно достаточно просто производить переадресацию. Кратко пройдемся по известным админкам и алгоритмам действий для редиректа на них.
WordPress
Это очень распространенная программа, поэтому на нее сделали массу плагинов, можно воспользоваться любым из них – платным или бесплатным. Обычно достаточно двух простых действий:
- скачать и установить надстройку.
- вводить данные в два поля – откуда и куда будет происходить перенаправление.
Если работа с плагинами по какой-либо причине вам не подходит, всегда можно провести обычную переадресацию, используя вышеперечисленные методы.
OpenCart
Опять находим корневой файл с расширением .htaccess. Работа с ним будет проходить так:
Битрикс
Снова заходим в тот же документ. В нем прописываем:
Joomla
Этот конструктор сайтов предполагает наличие встроенной программы для перенаправления. Так следует найти соответствующий раздел в «Компонентах». А в появившиеся строки вбивать парные адреса – откуда и куда будет перекидывать юзера при использовании CMS. Выглядит это так:
MODX
Плагин Redirector позволяет производить адресацию с такой же простотой, как и на WP. Снова понадобится только вручную вводить два URL.
Автоматизация генерирования кода
Кодирование – достаточно сложный процесс, далеко не все администраторы веб-ресурса в силах с этим справиться. Тогда можно пойти двумя путями. Или воспользоваться услугами технической поддержки компании, обслуживающей CMS, или применить онлайн-генераторы. Это бесплатные программы в интернете, которые помогают создать код. К примеру, можно пойти сюда – https://www.searchenginegenie.com/301-redirect-code-generator-tool.php.
Создания циклов редиректа
Иногда случается неприятная ситуация – возникновение цепочки пересылок. Так со страницы А пользователь попадает на В, а с нее автоматически на С и так далее. Это возникает или по вине специалиста, который некорректно ввел код, или из-за вирусного ПО. Скорее всего в таком случае будет выпадать ошибка:
Как понять, что перенаправление работает исправно
Подойдет классическое тестирование. Например, вбейте «www.домен.ru», а открывшийся ресурс должен иметь URL «домен.ru». Если такой достоверности недостаточно, можно воспользоваться сервисами проверки, например, этим – https://www.websiteplanet.com/ru/webtools/redirected/.
Заключение
Мы рассказали, как сделать и проверить редирект с http (на русской раскладке – ррезы) на https. Это необходимая процедура, но следует подходить к ней осторожно, чтобы не вызвать ошибку в работе ресурса. (.*)$ http://site.ru/$1 [L,R=301]
Перенаправление Apache и Nginx | firstvds.ru
Статья давно не обновлялась, поэтому информация могла устареть.
Подключения модуля mod_rewrite
Для включения перенаправления средствами Apache, достаточно чтобы модуль mod_rewrite.so был загружен в Apache.
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
Для того ,чтобы директивы mod_rewrite можно было использовать в .htaccess, надо в конфигурационном файле Apache, в соответствующем разделе «<Directory /путь/до/директории>» прописать:
AllowOverride all
После внесения изменений в конфигурационный файл Apache, для вступления в силу этих изменений, нужно перезапустить веб сервер:
apachectl restart
или
apache2ctl restart
В .htaccess для работы перенаправления нужно указать следующую директиву:
RewriteEngine On
Правила Redirect
Эти директивы вы можете прописывать как в конфиге Apache для нужного virtualhost, так в файле . htaccess.
Redirect или RedirectPermanent
Главный недостаток данных правил заключается в том, что для каждого адреса необходимо прописывать новое правило. Если необходимо сделать несколько редиректов, то каждый новый редирект пишется с новой строки.
Если нужно сделать несколько редиректов, то каждый новый редирект нужно написать с новой строки.
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
или
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
Для перенаправления всех запросов на другой сайт вы можете использовать следующую конструкцию:
Redirect 301 / http://new-domain.ru/
или
Redirect permanent / http://new-domain.ru/
RedirectMatch
Этот редирект отличается тем, что в нем можно использовать регулярное выражение. Например, при переносе сайта с Windows на Linux, необходимо сменить все ссылки с *.php на *.aspx:
RedirectMatch /(.*)\.
После внесения изменений в конфигурационный файл Nginx, для вступления в силу этих изменений, нужно его перезапустить так:
service nginx restart
Настройка сайта для работы по HTTPS — Раздел помощи
Содержание:
Настройка сайта для работы по HTTPS
Если для работы с сайтом должен использоваться протокол HTTPS, после установки сертификата нужно произвести настройку защищенного соединения для всех элементов и страниц сайта.
В первую очередь осуществляется переадресация сайта на защищенный протокол HTTPS. Переадресация с протокола HTTP на протокол HTTPS реализуется добавлением в файл .htaccess следующих директив:
Также производится проверка всех ссылок на сайте на предмет явного использования протокола HTTP. При наличии элементов, открывающихся по небезопасному протоколу, соединение будет считаться недоверенным, и информация об этом отобразится в адресной строке.
Проверить страницы сайта можно с помощью следующего сервиса.
При наличии элементов, доступных только по протоколу HTTP, ссылки на них нужно изменить на относительные (к примеру, вместо http://yourdomain.com/content/pic.jpg в коде страницы ссылка должна иметь вид /content/pic.jpg), либо явно указывать использование протокола HTTPS (в таком случае ссылка будет иметь вид https://yourdomain.com/content/pic.jpg»).
Также необходимо менять ссылки для элементов, загружаемых с внешних ресурсов. Например, если на сайте используется скрипт, доступный по адресу http://externaldomain.us/scripts/ad.js, эта ссылка должна быть изменена на //externaldomain.us/scripts/ad.js или https://externaldomain.us/scripts/ad.js.
Сайт, на котором расположен элемент, также должен иметь валидный SSL-сертификат.
Настройка известных CMS для работы по HTTPS
Помимо ссылок, которые явным образом указываются в коде страницы, существуют особенности при переводе различных CMS на защищенный протокол.
Joomla!
В конфигурационном файле (configuration.php) строка public $live_site =»»; заменяется на следующую public $live_site = ‘https://www.yourdomain.com’; где «yourdomain.com» — имя домена. Также вместо строки public $force_ssl = ‘0’; используется: public $force_ssl = ‘2’;.
В Joomla! версии 3.x. перевод сайта на протокол HTTPS может быть осуществлён автоматически в административной панели сайта в разделе Система -> Общие настройки. На вкладке Сервер в поле «Включить SSL» устанавливается значение «Весь сайт«.
В Joomla! 3.x. Русская версия
для проверки работы сайта по протоколу HTTPS до указания в файле /public_html/.htaccess рекомендуемых в данной статье директив, можно внести изменения в файл /public_html/libraries/joomla/uri/uri.php, заменив строку if (isset($_SERVER[‘HTTPS’]) && !empty($_SERVER[‘HTTPS’]) && (strtolower($_SERVER[‘HTTPS’])!= ‘off’)) на if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’).Указанные действия производятся уже после установки сертификата на домен, иначе они могут привести к неработоспособности сайта.
WordPress
В административной панели WordPress производится смена протокола в адресе сайта. Для этого в разделе «
Для быстрой и удобной настройки SSL можно воспользоваться специальным плагином Really Simple SSL. Для безопасности сайта все установленные компоненты и плагины необходимо своевременно обновлять.
Bitrix
Работа сайта включается в административной панели сайта с использованием безопасного соединения. Сделать это можно следующим образом: Настройки > Управление масштабированием > Панель управления > Глобальные действия > Включить https.
В новых версиях Bitrix этого не требуется. Достаточно установить редирект на https, прописав директивы в файл .htacсess.Drupal
В конфигурационном файле (/sites/default/settings.php) добавляется следующая директива $conf[‘https’] = TRUE; Для удобства настройки безопасного доступа к авторизованным разделам сайта рекомендуем установить модули «Auth SSL Redirect» и «Secure Login«.
MODX
Для расширенной настройки доступа к сайту по защищенному протоколу рекомендуем установить модуль «SSL 1.0.0-ga«, доступный по следующей ссылке. При использовании MODX Revolution для настройки работы сайта по https вносятся следующие изменения в конфигурационный файл core/config/config.inc.php:
После внесения изменений очищается кэш MODX.
Как указать поисковым системам, что сайт является защищенным
Компания Google рассматривает использование HTTPS на сайте в качестве фактора ранжирования. Для корректного индексирования сайта по протоколу HTTPS компания Google рекомендует соблюдать следующие правила:
Конструктор сайтов — настройка протокола HTTPS
Изменения производятся в Кострукторе сайтов, значок Настройки -> Настройки -> галочка в поле «Публикация с принудительным HTTPS» и нажать кнопку «сохранить».
Включение шифрования SSL без сертификата приведет к некорректной работе сайта.
Лучший способ перенаправить весь HTTP на HTTPS в IIS
Модуль 2.1 перезаписи URL-адресов IIS для IIS7 + может быть вашим другом. Модуль можно загрузить с сайта IIS URL Rewrite. Использование модуля перезаписи URL и Справочника по настройке модуля перезаписи URL 2.0 объясняет, как использовать модуль.
После установки модуля вы можете создать перенаправление для всего хоста с помощью диспетчера IIS. Выберите URL Rewrite , Добавить правила … и Пустое правило .
Имя:
Перенаправление на HTTPSСоответствие URL
Запрошенный URL:Соответствует шаблону
Использование:Подстановочные знаки
Шаблон:*
Игнорировать регистр: ПровереноУсловия
Логическая группировка:Соответствие любому
Ввод условия :{HTTPS}
Проверить, соответствует ли входная строка:Шаблону
Шаблон:ВЫКЛ
Игнорировать регистр : Проверено
Отслеживать группы захвата в разных условиях: Не провереноПеременные сервера
Оставьте поле пустым.Действие
Тип действия:Перенаправление
URL перенаправления:https: // {HTTP_HOST} {REQUEST_URI}
Добавить строку запроса: Не проверено
Тип перенаправления:Постоянно (301 )
Примените правило и запустите IISReset (или нажмите Restart в диспетчере IIS)
В качестве альтернативы, после установки модуля вы можете изменить файл applicationHost.config следующим образом:
<условия logicalGrouping = "MatchAny" trackAllCaptures = "false"> IIS Redirect HTTP to HTTPS — SSL-сертификаты
Настройка перенаправления HTTP / HTTPS в IIS
После установки SSL-сертификата ваш сайт по-прежнему остается доступным через обычное небезопасное HTTP-соединение. Для безопасного подключения посетители должны вручную указывать префикс https: // при вводе адреса вашего сайта в своих браузерах.
Чтобы установить безопасное соединение на вашем веб-сайте, необходимо настроить определенное правило перенаправления HTTP / HTTPS.Таким образом, любой, кто заходит на ваш сайт по ссылке, такой как «yourdomain.com», будет перенаправлен на «https://yourdomain.com» или «https://www.yourdomain.com» (в зависимости от вашего выбора). зашифрованный трафик между сервером и клиентом.
Ниже приведены шаги по настройке перенаправления IIS HTTPS:
- Загрузите и установите модуль URL Rewrite.
- Откройте консоль IIS Manager и выберите веб-сайт, к которому вы хотите применить перенаправление, в левом меню:
- Дважды щелкните значок URL Rewrite .
- Щелкните Добавить правила в правом меню.
- Выберите Пустое правило в разделе Inbound , затем нажмите OK .
- Введите любое имя правила, которое хотите.
- В разделе Соответствие URL :
— Выберите Соответствует шаблону в раскрывающемся меню Запрошенный URL
— Выберите Регулярные выражения в раскрывающемся меню Использование
— Введите следующий шаблон в разделе Соответствие URL : ( .СКИДКА $ в виде шаблона
— Нажмите OK - В разделе Action выберите Redirect в качестве типа действия и укажите следующее для Redirect URL :
https: // {HTTP_HOST} {REQUEST_URI}
- Снимите флажок Добавить строку запроса .
- Выберите желаемый тип перенаправления. Весь раздел Action должен выглядеть так:
- Нажмите Применить в правой части меню Действия .
ПРИМЕЧАНИЕ. Существует 4 типа перенаправления правила перенаправления, которые можно выбрать в этом меню:
— Постоянный (301) — предпочтительный тип в этом случае, который сообщает клиентам, что содержимое сайта навсегда перемещено в версию HTTPS. Подходит для SEO, так как направляет весь трафик на ваш HTTPS-сайт, что положительно влияет на его рейтинг в поисковых системах.
— Найдено (302) — следует использовать только в том случае, если вы переместили содержимое определенных страниц на новое место * временно *. Таким образом, SEO-трафик идет в пользу местоположения предыдущего контента. Этот вариант обычно не рекомендуется для перенаправления HTTP / HTTPS.
— См. Другое (303) — конкретный тип перенаправления для запросов GET. Не рекомендуется для HTTP / HTTPS.
— Временный (307) — HTTP / 1.1 преемник типа редиректа 302. Не рекомендуется для HTTP / HTTPS.ВАРИАНТ 2: Задайте правило перенаправления как https: // {HTTP_HOST} / {R: 1} и установите флажок Добавить строку запроса . Тип действия также должен быть установлен как Redirect .
Перенаправление IIS можно проверить, зайдя на ваш сайт по http: //, указанному в URL-адресе. Чтобы убедиться, что ваш браузер не отображает кешированную версию вашего сайта, вы можете использовать анонимный режим браузера.
Правило создано в IIS, но сайт по-прежнему не перенаправлен на https: //
Обычно правило перенаправления записывается в файл web.config, расположенный в корневом каталоге документов вашего веб-сайта. Если перенаправление не работает по какой-либо причине, убедитесь, что файл web.config существует, и проверьте, содержит ли он соответствующее правило.
Для этого выполните следующие действия:
- В списке сайтов IIS щелкните свой сайт правой кнопкой мыши. Выберите вариант Explore :
- Explore откроет корневой каталог документов сайта. Проверьте, есть ли там файл web.config.
- Файл web.config должен иметь следующий блок кода:
<конфигурация>
Примечание : это конфигурация по умолчанию. Если вы хотите изменить ее, вам, возможно, потребуется проверить эту документацию сервера.
ВЫКЛ. $ "/>
- Если файл web.config отсутствует, вы можете создать новый файл .txt, поместить туда вышеупомянутый код, сохранить и затем переименовать файл в web.config.
Как заставить ваш сайт перенаправляться на https (SSL) — DreamHost Knowledge Base
Обзор
Когда вы добавляете сертификат SSL на свой веб-сайт на панели, DreamHost автоматически перенаправляет URL-адрес, который посетители используют для просмотра вашего сайта, с HTTP на HTTPS. S гарантирует, что ваше соединение зашифровано. Например:
С вашей стороны ничего не нужно делать, чтобы заставить ваш сайт использовать безопасный URL.
Добавление пользовательского кода для принудительного перенаправления
В некоторых особых случаях вам может потребоваться создать свой собственный файл конфигурации для принудительного перенаправления с HTTP на HTTPS.Чтобы создать этот файл, вы должны войти на свой сервер через FTP или SSH, как описано ниже.
Добавление пользовательского кода необходимо только в том случае, если вашему веб-сайту требуется определенный код для принудительного перенаправления . Как указано выше, ваш сайт будет автоматически перенаправлять, когда вы добавляете сертификат SSL в панель, поэтому добавление пользовательских правил необходимо только в том случае, если они требуются вашему сайту.
Если вам нужно вручную принудительно перенаправить на HTTPS с помощью специальных правил, вы должны сначала отключить автоматическое перенаправление на своей панели.В следующей статье приведены инструкции по удалению службы DreamHost, которая автоматически перенаправляет ваш сайт на HTTPS.
Когда перенаправление DreamHost больше не активно, только ваш собственный код будет управлять перенаправлением на HTTPS-версию вашего сайта.
Использование службы перенаправления панели для принудительного HTTPS
Невозможно использовать службу перенаправления панели, чтобы заставить ваш сайт загружать HTTPS-версию своего URL-адреса.
Это связано с тем, что служба HTTPS работает только тогда, когда сайт полностью размещен, а служба перенаправления удаляет хостинг из домена.
Какой файл конфигурации мне нужно создать?
Если вашему сайту требуется специальный код для принудительного перенаправления на HTTPS, вам нужно будет обновить файл конфигурации для вашего домена на сервере. Имя и расположение настраиваемого файла конфигурации различаются в зависимости от типа сервера, на котором работает ваш сайт. Это будет либо Apache, либо Nginx.
Для серверов Apache
Большинство клиентов DreamHost запускают свои сайты на сервере Apache. В этом случае вам просто нужно создать файл .htaccess для своего сайта.
Для серверов Nginx
Если ваш сайт работает на VPS или выделенном сервере и вы вручную настроили его для запуска Nginx, вам необходимо создать файл redirects.conf. Просмотрите ссылку ниже для получения дополнительной информации.
Перенаправить HTTP на HTTPS в Nginx
👨🔬 Еще одна распространенная задача в Nginx — перенаправление HTTP-запросов на HTTPS для принудительного использования сертификатов SSL.
Два метода:
1. Перехватить весь http и перенаправить на https
2. Перенаправить только определенные приложения / сайты📖 Запись здесь: https://t.co/zKn3LlkUlG pic.twitter.com/LofCrxI78X
— Крис Фидао (@fideloper) 18 мая 2018 г.Распространенной задачей является перенаправление любого HTTP-запроса на HTTPS, поэтому наши приложения и сайты всегда используют сертификаты SSL.
В Nginx мы обычно хотим избежать операторов
if
. Подобно тому, как мы перенаправляем между поддоменамиwww
и неwww
, мы будем использовать блоксервера
для перенаправления HTTP-запросов на HTTPS.Перенаправить все HTTP
Один из методов, который мне нравится делать, — это запросы к порту 80 (
http
) для всех и перенаправлять их на порт 443 (https
).Это работает, когда вы знаете, что хотите, чтобы все настроенные сайты определенно использовали только
https
.сервер { слушаем 80 default_server; имя сервера _; return 301 https: // $ host $ request_uri; }
Это прослушивает порт 80. Это также сервер по умолчанию для порта 80. Предполагается, что это единственный блок
сервера
, прослушивающий порт 80 .имя_сервера
—_
, что соответствует любому используемому имени хоста.Наконец, мы возвращаем 301 редирект на версию
https
любого запрошенного URI. Мы знаем, что все запросы, достигающие этого блокаserver
, являютсяhttp
, потому что он прослушивает только запросы порта 80.Переадресация определенных сайтов
Мы также можем перенаправить только определенные сайты. Это лучше, если у вас есть несколько приложений / сайтов, и не все из них должны использовать SSL-сертификаты.
сервер { слушать 80; имя_сервера foo.com; возврат 301 https: //foo.com$request_uri; }
Здесь мы прослушиваем порт 80 для запросов
http
, но мы не делаем его сервером по умолчанию. Вместо этого он только прослушивает запросы, сделанные к имени хостаfoo.com
(где HTTP-заголовокHost
установлен наfoo.com
).Он возвращает 301 перенаправление на версию
https
указанного URI, но жестко кодирует имя хоста (foo. com
).Конфигурация приложения
Наши сайты / приложения могут быть настроены на прослушивание порта 443 только для SSL-соединений.
сервер { слушать 443 ssl default_server; имя_сервера foo.com; } server { слушайте 443 ssl; имя_сервера bar.com; } # и так далее ...
Любой сайт может быть
default_server
для порта 443. Это зависит от вас, и на практике это вряд ли будет иметь значение.перенаправлений в HTTP — HTTP
Перенаправление URL-адресов , также известное как Перенаправление URL-адресов , — это метод предоставления более одного URL-адреса странице, форме или целому веб-сайту / приложению.HTTP имеет особый вид ответа, называемый перенаправлением HTTP , для этой операции.
Редиректы служат для достижения множества целей:
- Временные перенаправления во время технического обслуживания или простоя сайта
- Постоянные перенаправления для сохранения существующих ссылок / закладок после изменения URL-адресов сайта, страниц прогресса при загрузке файла и т. Д.
В HTTP перенаправление запускается сервером, отправляющим специальный ответ redirect на запрос.Ответы на перенаправление имеют коды состояния, которые начинаются с
3
, и заголовокLocation
, содержащий URL-адрес для перенаправления.Когда браузеры получают перенаправление, они немедленно загружают новый URL-адрес, указанный в заголовке
Location
. Помимо небольшого снижения производительности из-за дополнительного обхода, пользователи редко замечают перенаправление.Существует несколько типов переадресации, разделенных на три категории:
- Постоянные перенаправления
- Временные перенаправления
- Особые перенаправления
Постоянные перенаправления
Эти перенаправления должны длиться вечно.Они подразумевают, что исходный URL-адрес больше не должен использоваться и заменен новым. Роботы поисковых систем, программы чтения RSS и другие сканеры обновят исходный URL-адрес ресурса.
Код Текст Обработка методов Типичный вариант использования 301
Перемещено на постоянной основе
GET
методы без изменений.
Другие могут или не могут быть изменены наGET
. [1]Реорганизация веб-сайта. 308
Постоянное перенаправление
Метод и тело не изменены. Реорганизация веб-сайта со ссылками / операциями, не относящимися к GET. [1] В спецификации не предполагалось разрешить изменение метода, но есть существующие пользовательские агенты, которые изменяют свой метод.
308
был создан для устранения неоднозначности поведения при использовании методов, отличных отGET
.Временные перенаправления
Иногда к запрошенному ресурсу нельзя получить доступ из его канонического местоположения, но он может быть доступен из другого места. В этом случае можно использовать временное перенаправление.
Роботы поисковых систем и другие сканеры не запоминают новый временный URL. Временные перенаправления также используются при создании, обновлении или удалении ресурсов для отображения временных страниц прогресса.
Код Текст Обработка методов Типичный вариант использования 302
Найдено
GET
методы без изменений.
Другие могут или не могут быть изменены наGET
. [2]Веб-страница временно недоступна по непредвиденным причинам. 303
См. Другие
GET
методы без изменений.
Остальные изменили наGET
(тело потеряно).Используется для перенаправления после PUT
илиPOST
, чтобы обновление страницы результатов не запускало операцию повторно.307
Временное перенаправление
Метод и тело без изменений Веб-страница временно недоступна по непредвиденным причинам. Лучше, чем 302
, когда на сайте доступны операции, отличные отGET
.[2] Спецификация не предназначалась для изменения метода, но существуют существующие пользовательские агенты, которые действительно меняют свой метод.
307
был создан для устранения неоднозначности поведения при использовании методов, отличных отGET
.Special redirections
304
(Not Modified) перенаправляет страницу в локально кэшированную копию (которая была устаревшей), а300
(Multiple Choice) — это перенаправление вручную: тело, представленное браузером как веб На странице перечислены возможные перенаправления, и пользователь нажимает на одну из них, чтобы выбрать ее.Код Текст Типичный вариант использования 300
Множественный выбор
Немного: варианты перечислены на HTML-странице в теле.Машиночитаемые варианты рекомендуется отправлять в виде заголовков Link
с относительным значением= alternate
.304
Без изменений
Отправлено для подтвержденных условных запросов. Указывает, что кешированный ответ еще свеж и может быть использован. Перенаправления HTTP — не единственный способ определения перенаправлений. Есть еще два:
- HTML-перенаправление с элементом
- Перенаправления JavaScript через DOM
HTML-перенаправления
HTTP-перенаправления — лучший способ создания перенаправлений, но иногда у вас нет контроля над сервером. В этом случае попробуйте элемент
http-Equiv
, установленным наRefresh
в<заголовок>
Атрибут
содержимого
должен начинаться с числа, указывающего, сколько секунд браузер должен подождать перед перенаправлением на данный URL.Всегда устанавливайте значение0
для обеспечения доступности.Очевидно, что этот метод работает только с HTML и не может использоваться для изображений или других типов контента.
Перенаправления JavaScript
Перенаправления в JavaScript выполняются путем установки строки URL-адреса в свойство
window.location
, загружая новую страницу:window.location = "https://example.com/";
Подобно перенаправлению HTML, это не может работать со всеми ресурсами, и, очевидно, это будет работать только с клиентами, которые выполняют JavaScript. С другой стороны, возможностей больше: например, вы можете активировать перенаправление только при соблюдении некоторых условий.
Порядок приоритета
Три способа инициирования перенаправления позволяют одновременно использовать несколько способов. Но что применяется в первую очередь?
- Перенаправления HTTP всегда выполняются первыми — они существуют, когда нет даже переданной страницы.
- HTML-перенаправления (
- Перенаправления JavaScript выполняются в последнюю очередь и только если включен JavaScript.
По возможности используйте перенаправления HTTP и не добавляйте перенаправления элементов
Существует множество вариантов использования перенаправлений, но поскольку каждое перенаправление влияет на производительность, их использование следует свести к минимуму.
Псевдоним домена
В идеале для каждого ресурса должно быть одно местоположение и, следовательно, один URL.Но есть причины для альтернативных названий ресурса:
- Расширение охвата вашего сайта
- Обычный случай, когда сайт находится по адресу
www.example.com
, но доступ к нему сexample.com
также должен работать. Таким образом, настроены перенаправления дляexample.com
наwww.example.com
. Вы также можете перенаправить с общих синонимов или частых опечаток в ваших доменах. - Переход на новый домен
- Например, ваша компания была переименована, но вы хотите, чтобы существующие ссылки или закладки по-прежнему находили вас под новым именем.
- Принудительное использование HTTPS
- Запросы к версии
http: //
вашего сайта будут перенаправлены на версиюhttps: //
вашего сайта.
Поддержание активности ссылок
Когда вы реструктурируете веб-сайты, URL-адреса меняются. Даже если вы обновите ссылки своего сайта, чтобы они соответствовали новым URL-адресам, вы не сможете контролировать URL-адреса, используемые внешними ресурсами.
Вы не хотите разрывать эти ссылки, поскольку они привлекают ценных пользователей и помогают вашему SEO, поэтому вы настраиваете перенаправления со старых URL-адресов на новые.
Этот метод действительно работает для внутренних ссылок, но старайтесь избегать внутренних перенаправлений. Перенаправление приводит к значительным потерям в производительности (поскольку возникает дополнительный HTTP-запрос). Если вы можете избежать этого, исправив внутренние ссылки, вам следует вместо этого исправить эти ссылки.
Временные ответы на небезопасные запросы
Небезопасные запросы изменяют состояние сервера, и пользователь не должен повторно отправлять их непреднамеренно.
Обычно вы не хотите, чтобы ваши пользователи повторно отправляли запросы
PUT
,POST
илиDELETE
.Если вы отправите ответ в результате этого запроса, простое нажатие кнопки перезагрузки отправит запрос повторно (возможно, после сообщения с подтверждением).В этом случае сервер может отправить ответ
303
(см. Прочее) для URL-адреса, который будет содержать правильную информацию. Если нажать кнопку перезагрузки, повторно отображается только эта страница без повторного воспроизведения небезопасных запросов.Временные ответы на длинные запросы
Некоторым запросам может потребоваться больше времени на сервере, например
DELETE,
запросы, которые запланированы для последующей обработки.В этом случае ответ представляет собой перенаправление303
(см. Прочее), которое ссылается на страницу, указывающую, что действие было запланировано, и в конечном итоге сообщает о его ходе или позволяет отменить его.Apache
Перенаправления могут быть установлены либо в файле конфигурации сервера, либо в
.htaccess
каждого каталога.Модуль
mod_alias
имеет директивыRedirect
иRedirectMatch
, которые по умолчанию устанавливают перенаправления302
:Пример ServerName./images/(.*)$ https://images.example.com/$1 Все документы в каталоге
изображений /
будут перенаправлены в другой домен.Если вам не нужно временное перенаправление, можно использовать дополнительный параметр (либо используемый код состояния HTTP, либо постоянное ключевое слово ) для настройки другого перенаправления:
перенаправление постоянное / https://www.example.com #… Действует так же, как: Перенаправить 301 / https://www.example.com
Модуль
mod_rewrite
также может создавать перенаправления./images/(.*)$ https://images.example.com/$1 постоянно;IIS
Петли перенаправления возникают, когда дополнительные перенаправления следуют за уже выполненным. Другими словами, есть цикл, который никогда не завершится, и никакая страница не будет найдена.
В большинстве случаев это проблема сервера, и если сервер не может ее обнаружить, он отправит обратно
500
Internal Server Error
. Если вы столкнулись с такой ошибкой вскоре после изменения конфигурации сервера, скорее всего, это петля перенаправления.Иногда сервер не обнаруживает этого: петля перенаправления может распространяться на несколько серверов, каждый из которых не имеет полной картины. В этом случае браузеры обнаружат это и отобразят сообщение об ошибке. Firefox отображает:
Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не будет завершен.
… пока в Chrome отображается:
Эта веб-страница имеет цикл переадресации
В обоих случаях пользователь мало что может сделать (если только на его стороне не происходит повреждение, например несоответствие кеша или файлов cookie).
Важно избегать зацикливания перенаправления, поскольку они полностью мешают работе пользователя.
Перенаправление с HTTP на HTTPS
- Дом
- Помощь
- Другие статьи и руководства
- Перенаправление с HTTP на HTTPS
После установки сертификата на сервере необходимо принудительно выполнить перенаправление с незащищенного HTTP на защищенный HTTPS.В противном случае ваш веб-сайт будет доступен и будет работать по двум протоколам: защищенному и незащищенному (он также позволяет использовать незащищенный протокол). Этот факт приводит к тому, что ваш сайт выглядит как два разных сайта для поисковых систем, и это вредит вашему SEO. Это руководство поможет вам навсегда перенаправить ваш сайт на HTTPS.
Веб-сервер Apache
Если вы используете популярный веб-сервер Apache, вы можете легко перенаправить весь трафик с незащищенного HTTP на HTTPS.Когда посетитель переходит на ваш сайт, он будет перенаправлен на защищенный протокол HTTPS.
Если вы являетесь администратором сервера, вы можете установить перенаправление в файле httpd.conf , используя конфигурацию ниже. Если вы не являетесь администратором и используете> веб-хостинг, вы можете установить перенаправление с помощью файла .htaccess . Поместите .htaccess с этой конфигурацией в папку, которую вы хотите перенаправить на HTTPS:
RewriteEngine на
RewriteCond% {HTTPS} со скидкой
RewriteRule (.apache-redirect-http-to-https.html $ https://www.yoursite.com/apache-redirect-http-to-https.html [R = 301, L]Microsoft IIS 7 и более поздние версии
Используйте следующую процедуру для перенаправления всех сообщений на сервер Microsoft с помощью IIS 7 (и более поздних версий).
Серверу требуется модуль перезаписи URL-адресов Microsoft, который должен быть установлен на сервере. Наш процесс выполняется после установки сертификата TLS и его назначения домену.Наш видеоурок поможет вам с этой задачей. Установка сертификата TLS на IIS сервере.
Проверьте параметр SSL Settings вашего веб-сайта и убедитесь, что параметр Require SSL отключен.
Вставьте следующий код в файл web.config в главном каталоге веб-сайта, который является основным файлом конфигурации XML для приложений ASP.NET.
<конфигурация>
<условия>
system.webServer>
Дополнительную информацию о настройке этого файла можно найти в библиотеке Microsoft MSDN.Затем просто зайдите на свой домен http://www.domain.com и проверьте работу нового перенаправления.
Сервер nginx
Чтобы перенаправить ваш сайт на HTTPS на Nginx, добавьте жирную строку в свою конфигурацию:
сервер {
слушать 80;
имя_сервера домен.com www.domain.com;
return 301 https: // $ host $ request_uri;
}сервер {
слушать 443;
имя_сервера domain.com www.domain.com;ssl на;
[....]
}Пожалуйста, обращайтесь в нашу Службу поддержки клиентов, которая поможет вам выбрать сертификат и ответит на любые вопросы.
.htaccess перенаправление на https и www
Если ваш сайт обслуживает защищенные страницы по протоколу HTTPS (т.е.например, через SSL / TLS ) вам может потребоваться метод перенаправления всех HTTP-запросов на HTTPS. Затем, чтобы продолжить свои усилия по канонизации, вы также можете перенаправить все запросы www на не-www (или наоборот). Оба эти метода необходимы для обслуживания канонических версий ваших веб-страниц, так почему бы не объединить их в один простой фрагмент .htaccess? Читайте дальше, чтобы узнать, как ..
Перенаправление на https и без www
Чтобы вместо этого перенаправить все запросы на https и без www, используйте следующий код вместо предыдущего:
# канонический HTTPS / не в WWW
Как и раньше, поместите этот код в корневой каталог .htaccess вашего сайта. Вот что он делает:
- Проверяет, доступен ли
mod_rewrite
- Проверяет, выключен ли HTTPS или включает ли запрос
www
- Если любое из условий соответствует, запрос соответствует требованиям и перенаправляется на
https / non-www
адрес
При размещении в корне.htaccess, этот метод охватывает всех запросов, обеспечивая полную канонизацию https / без www для вашего сайта. Не забудьте заменить два экземпляра
example.com
своим собственным доменным именем.Примечание: , если ваш сайт страдает от дублирования страниц из-за
index.php
, добавленного к запрошенным URL-адресам, ознакомьтесь с этим сообщением на WP-Mix.com, в котором объясняется, как удалить www и index.php из URL-адреса.Перенаправление на https и www
Следующее.www \. [NC] RewriteRule (. *) Https: //www.% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Этот код выполняет следующие действия:
- Первые две строки условно перенаправляют на https. Если для переменной
HTTPS
установлено значение off, запрос перенаправляется на https (см. Примечания ниже, если используется прокси). - Вторые две строки перенаправляют на www. Если запрос / хост не начинается с
www.
, запрос перенаправляется на www.
При размещении в корне.htaccess, этот метод охватывает всех запросов, обеспечивая полную канонизацию https / www для вашего сайта. Этот код не требует редактирования; это полностью plug-n-play.
Примечания при использовании прокси
Как объяснено здесь:
«Когда за некоторыми формами проксирования, когда клиент подключается через HTTPS к прокси, балансировщику нагрузки, приложению Passenger и т.