(.*)$ http://site.ru/$1 [L,R=301]
Содержание
Что такое htaccess, редирект через htaccess и изменение адресов с mod_rewrite
Файл «.htaccess» (с точкой в начале названия файла) — это конфигурационный файл Apache. Он позволяет изменять глобальные настройки в некоторых конкретных директориях. К примеру, делать переадресацию (редиректы), отключать обработку PHP файлов. Файл «.htaccess» — это текстовый документ, который можно изменить в любом текстовом редакторе. Обычно на хостингах данный файл изначально присутствует в корневой папке сайта. Но вы можете создать несколько файлов «.htaccess» в любых подпапках. Тогда правила будут перезаписываться.
Простой редирект через .htaccess
Разберём одну из самых популярных задачу, которую возлагают на файл «.htaccess» — это переадресация посетителя сайта на другую страницу. Откройте файл .htaccess в корневом каталоге сайта и в самом начале, первой строчкой напишите:
Redirect 301 / https://mousedc. ru
301 означает, что во время перенаправления пользователя сервер выдаст код ответа 301-«Permanent Redirect», что означает, что документ перенесён на новый навсегда.
Некоторые возможные HTTP статусы:
301 — документ перемещен постоянно
302 — документ перемещен временно
303 — смотрите другой документ
403 — документ запрещён к просмотру
404 — документ не найден
410 — документ убран
Слеш «/» после 301 означает, что перенаправление будет срабатывать в любом случае, к какой бы странице или файлу не обратился пользователя. Если вместо слеша поставить адрес файла, к примеру:
Redirect 301 /folder/page1.php https://mousedc.ru
— то будет происходить переадресация только в том случае, если пользователь запросит страницу «/folder/page1.php».
Последним параметром для Redirect стоит адрес страницы, на которую будет сделано перенаправление. В примере это «https://mousedc.ru».
Редирект с регулярным выражением через .htaccess
Существует возможность сделать редирект по регулярному выражению. То есть в случае, если запрашиваемый адрес подходит под регулярное выражение, то будет происходить редирект:
RedirectMatch 301 (.*) https://mousedc.ru$1
Чтобы понять, что происходит в этом коде, рекомендуем прочитать все статьи о регулярных выражениях, начиная с Регулярные выражения в PHP. Если кратко, то образуется карман (.*), значение которого подставляется в самый конец домена, вместо $1 в строке https://mousedc.ru$. В кармане находится относительный адрес запрашиваемой страницы (то есть без домена).
Использование регулярного выражения полезно для переадресации обращения к файлам. К примеру, сделаем переадресацию при запросе jpg картинок:
RedirectMatch 301 (.*\. product/([0-9]+)/?$ product/index.php?id=$1 [L]
При таком правиле пользователь будет заходить на страницу mousedc.ru/product/5/
, а сервер будет возвращать содержание страницы mousedc.ru/product/index.php?id=5
.
В конце правила можно заметить квадратные скобки. В эти скобки [ ] ставятся флаги. Можно поставить один флаг, к примеру, [L] и несколько флагов через запятую [NC,R=301,L]. Приведём значения самых популярных из них:
- R — вызывает редирект. Можно казать после этого флага код ответа сервера, например [R=301]
- L — останавливает процесс изменения адреса. Означает, что следующие RewriteRule после этой строчки не будут выполнены
- N — перезапускает преобразование адреса заново, начиная с первого правила. Но на этот раз подставляется адрес, изменённый в процессе проделанных преобразований. Будте осторожны, чтобы не сделать бесконечный цикл
- C — если следующее после этого правило не выполняется, то преобразование будет прервано. products/(.*)$ /products.php [L,R=301]
— такое правило может пригодиться, если нужно закрыть давно существующий раздел, но не хочется терять ссылочную массу.Была ли эта статья полезна?
Есть вопрос?
Закажите недорогой хостинг
Заказать
всего от 290 руб
Перенаправление с HTTP на HTTPS в Apache (с использованием .htaccess) и NginX [2019]
Управляемый хостинг-провайдер, если вы еще не используете HTTPS, браузер выдаст предупреждение «Небезопасно» на вашем веб-сайте. В целях соответствия вам необходимо иметь соединение с шифрованием SSL. После того, как вы установили SSL, крайне важно перенаправить HTTP на HTTPS.
Что такое перенаправление с HTTP на HTTPS?
Ранее наиболее распространенной проблемой перенаправления было правильное перенаправление версии сайта с www на сайт без www или наоборот. Однако с введением SSL-сертификатов перенаправление с HTTP на HTTPS взяло верх.
Например, рассмотрим веб-сайт Webscoot.io . Наш канонический адрес — https://webscoot.io. However, a user can connect to our website in 4 ways:
Source Type https://webscoot.io HTTP + no-www https: //webscoot.io HTTPS + без www https://webscoot.io HTTP + www https://webscoot.io HTTPS + www В этой статье мы увидим, как перенаправить соединение с HTTP на HTTPS с помощью www:
1. Перенаправить HTTP на HTTPS в Apache
Прежде чем мы приступим к перенаправлению HTTP на HTTPS с помощью файла .htaccess, вот как вы можете отредактировать файл .htaccess:
Как отредактировать файл .htaccess:
Чтобы перевести трафик на HTTPS, отредактируйте коды в файле .htacess. . Если вы уже знаете этот шаг, вы можете перейти к части перенаправления.
В файле .htaccess есть инструкции, описывающие работу сервера в определенных сценариях. Это влияет на то, как работает ваш сайт.Наиболее распространенные инструкции:
1. Перезапись URL-адресов
2. Перенаправления3 Способы редактирования файла .htaccess:
- Отредактируйте файл на своем ПК и загрузите его на сервер через FTP.
- Использование режима «Редактировать» в программе FTP позволяет удаленно редактировать файл.
- Используйте SSH и текстовый редактор для редактирования файлов. 9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Примечание:
1. Замените «webscoot» своим доменным именем везде, где это необходимо.
2. Замените /folder фактическим именем папки.2. Перенаправление HTTP на HTTPS в Nginx
Nginx — самый быстрорастущий веб-сервер. Мы используем Nginx в наших серверных стеках для оптимизации производительности.
2.1. Перенаправить весь трафик на сервер HTTPS
{ слушать 80 default_server; имя сервера _; вернуть 301 https://$host$request_uri; }
2.2. Перенаправить определенные сайты на сервер HTTPS
{ слушать 80; имя_сервера webscoot.com; вернуть 301 https://webscoot.io$request_uri; }
Заключение
Почти все сайты сейчас на HTTPS. Поделитесь этой статьей, чтобы подключить остальные веб-сайты к зашифрованному соединению. Если ваш веб-хостинг не заботится о безопасности вашего веб-сайта, перейдите к провайдеру управляемого хостинга, чтобы обеспечить пуленепробиваемую безопасность вашего веб-сайта.
Сакши Бел
Сакши заботится обо всем, что связано с маркетингом на Webscoot.io. У нее есть знания о Magento, WordPress и Dogs.
Часто задаваемые вопросы о тесте скорости веб-сайта
Q1) Легко ли перенаправить HTTP на HTTPS?
Обратитесь в нашу службу поддержки, вы можете легко перенаправить весь ваш HTTP-трафик на HTTPS.
Q2) Можно ли перенаправить HTTP на HTTPS с помощью htaccess?
Да, можно перенаправить с помощью файла htacess с помощью фрагмента кода.
Q3) Как перенаправить HTTP на HTTPS Nginx?
Настройка отдельного блока сервера для обработки каждой версии сайта — лучший способ перенаправить HTTP на HTTPS с помощью Nginx.
Q4) Как перенаправить HTTP на HTTPS Apache?
Apache позволяет создавать простые одностраничные перенаправления с помощью директивы «Redirect» является частью модуля «mod_alias».
Как перенаправить HTTP-трафик на HTTPS?
Что вам нужно знать:
Если у вас есть базовый веб-сайт, написанный вручную, вы можете поместить специальный файл .htaccess в корневой каталог вашего веб-сайта, который будет перенаправлять ваш HTTP-трафик на HTTPS. В качестве альтернативы, если вы используете CMS в качестве основы для своего веб-сайта, вам следует проверить ее настройки безопасности на предмет возможности принудительного использования HTTPS вместо использования метода файла . htaccess.
Благодаря бесплатным и недорогим SSL-сертификатам использование HTTPS резко возросло в последние годы. Выбрав перенаправление всего HTTP-трафика на HTTPS, владельцы веб-сайтов могут получить множество преимуществ, предоставляемых SSL. Самое главное, использование SSL может обеспечить безопасность посетителей вашего сайта. Более того, поисковые системы, такие как Google, вознаграждают веб-сайты, которые используют HTTPS-соединения, повышая их результаты в поисковой выдаче. В этой статье мы покажем, как вы можете получить эти преимущества, перенаправив свой HTTP-трафик на HTTPS.
Содержание
- Требования
- Почему мой веб-сайт не загружается с использованием HTTPS теперь, когда у меня установлен SSL?
- Как перенаправить HTTP-трафик на HTTPS?
- Как использовать файл .htaccess для принудительного использования HTTPS на моем веб-сайте?
- Как настроить CMS для перенаправления HTTP на HTTPS?
- Заключение
Требования
Единственным требованием для принудительного соединения HTTPS является наличие у вашего домена действительного сертификата SSL. Если вы не уверены, установлен ли действующий SSL-сертификат, вы можете использовать диспетчер SSL, чтобы проверить, защищен ли домен с помощью SSL. Если вы обнаружите, что ваш домен не защищен SSL, вам следует получить SSL-сертификат, а затем установить SSL на домен, чтобы защитить его.
Защита вашего веб-сайта с помощью SSL вселяет уверенность в ваших посетителей, повышая вероятность того, что они зарегистрируются или сделают покупку.
Следует отметить, что все функции, связанные с SSL, считаются расширенными функциями хостинга. Таким образом, диспетчер SSL будет доступен вам только в том случае, если вы используете один из наших планов общего хостинга премиум-класса или один из наших полувыделенных веб-серверов. В настоящее время бесплатный пакет веб-хостинга не поддерживает SSL.
Почему мой веб-сайт не загружается с использованием HTTPS теперь, когда у меня установлен SSL?
Итак, вы купили SSL-сертификат для своего доменного имени или установили SSL-сертификат, который у вас уже был. Затем вы попытались посетить свой веб-сайт только для того, чтобы обнаружить, что он все еще показывает предупреждение Not Secure .
Современные веб-браузеры, как правило, указывают на незащищенные соединения, особенно если страница содержит платежную форму или поле для входа.
Причина этой очевидной ошибки, вероятно, заключается в том, что ваш веб-сайт еще не настроен для безопасного соединения HTTPS. Другими словами, если посетитель сайта делает HTTP-запрос, он получит HTTP-ответ. И наоборот, в этом сценарии вы получите ответ HTTPS, только если вы сделали запрос HTTPS для начала.
По умолчанию веб-серверы будут отвечать, используя тот же протокол, который использовался клиентом для инициации обмена.
Имея это в виду, можно настроить веб-сервер таким образом, чтобы весь HTTP-трафик автоматически перенаправлялся на HTTPS. Мы рассмотрим, как этого добиться, в следующем разделе.
После правильной настройки веб-сервер может отвечать на все запросы по протоколу HTTPS.
Как перенаправить HTTP-трафик на HTTPS?
Существует два основных способа настроить веб-сайт для перенаправления HTTP-трафика на HTTPS:
- вы можете использовать файл .htaccess для принудительного соединения HTTPS. Этот вариант лучше всего подходит для базовых веб-сайтов или если вы хотите лучше контролировать перенаправление трафика.
- вы можете использовать инструменты, встроенные в серверную часть вашего веб-сайта, для перенаправления посетителей сайта на HTTPS. Эта опция доступна, только если вы используете сложную систему управления контентом (CMS), такую как WordPress, Drupal, Joomla или аналогичную.
Ниже мы рассмотрим оба подхода более подробно.
Запустите свой сайт бесплатно!
Бесплатный хостинг
Как использовать файл .htaccess для принудительного использования HTTPS на моем веб-сайте?
Файл .htaccess используется для выдачи директив серверу. Эти директивы регулируют перенаправление URL-адресов, сокращение URL-адресов, контроль доступа и многое другое. В этом конкретном случае мы покажем вам, как использовать файл .htaccess, чтобы убедиться, что все посетители сайта перенаправляются на HTTPS-версию вашего сайта.
Чтобы создать файл .htaccess, выполните следующие действия:
- Откройте раздел Файловый менеджер Панели управления.
- Дважды щелкните веб-сайт , на котором вы хотите принудительно включить HTTPS.
- На панели инструментов нажмите кнопку Создать .
Создать файл .htaccess так же просто, как создать любой другой файл с помощью диспетчера файлов.
Наконечник
Хотите знать, на что еще способен файловый менеджер? Узнайте в нашем руководстве по файловому менеджеру AwardSpace!
- В появившемся всплывающем окне выберите вариант Создать файл и назовите файл .htaccess .
Важно
Не забудьте поставить точку в имени файла!
- Нажмите кнопку Создать .
Убедитесь, что вы назвали свой файл .htaccess . Если вы дадите ему любое другое имя, то веб-сервер полностью проигнорирует его директивы.
Наконечник
Если на вашем веб-сайте уже есть файл .htaccess в корневом каталоге, вам не следует создавать новый файл .htaccess. Вместо этого вы должны использовать уже существующий файл, выполнив следующие действия.
- Конечным результатом должен стать новый файл с именем .htaccess . Если файл имеет правильное имя, сервер должен автоматически определить его как файл веб-конфигурации . Вы можете убедиться в этом на Type 9.0118 в файловом менеджере.
- После того, как вы убедились, что сервер распознает файл .htaccess как правильную веб-конфигурацию, вы можете дважды щелкнуть файл .htaccess, чтобы начать его редактирование.
Если сервер распознает тип вашего нового файла как веб-конфигурацию , значит, вы успешно создали файл . htaccess.
- На этом этапе у вас должен быть открыт файл .htaccess в файловом менеджере. Поскольку вы только что создали файл, он может быть пустым, как показано ниже:
Теперь ваш файл .htaccess открыт в диспетчере файлов, и вы можете приступить к его редактированию.
Наконечник
Если ваш сайт уже использует файл .htaccess, то в большинстве случаев он не будет пустым. В таких сценариях вы все равно должны следовать приведенным ниже инструкциям, просто имейте в виду, что вам нужно добавить свои изменения в конец файла.
- Теперь пришло время решить, какие правила должен содержать файл .htaccess. Ниже мы будем использовать
protected-site.com
в качестве нашего примера домена, и мы перечислим три набора правил. Все эти правила позволят вашему файлу .htaccess установить соединение HTTPS, поэтому выбор набора зависит от ваших личных предпочтений. Выберите один из следующих наборов правил: - заставить «www» . (.*)$ https://protected-site.com%{REQUEST_URI} [L,R=301]
- разрешить как «www», так и «без www» . С этим набором правил весь ваш HTTP-трафик будет просто перенаправлен на HTTPS без каких-либо других изменений. Таким образом, если посетитель перейдет на
http://protected-site.com/
, он попадет наhttps://protected-site.com/
. Точно так же, если посетитель введетhttp://www.protected-site.com/
в свой веб-браузер, он попадет наhttps://www.protected-site.com/
. Код для этого набора правил: - Скопируйте код нужного вам набора правил.
- Вставьте код в свой файл .htaccess.
- Если вы выбрали набор правил принудительно «www» или принудительно «без www» , обновите доменное имя в строке 4 с
protected-site. com
на ваше фактическое доменное имя. - Сохраните изменения, нажав кнопку Сохранить .
.
9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Предупреждение
Разрешение использования как «www», так и «без www» в вашем домене может повредить вашему SEO.
В этот момент ваш файл .htaccess начнет устанавливать HTTPS-соединение. Если вы по-прежнему попадаете на незащищенную версию своего веб-сайта, попробуйте очистить кэш браузера и файлы cookie. В маловероятном случае, если проблема не устранена, вы можете связаться с круглосуточной службой технической поддержки, и они помогут вам в дальнейшем.
Простота, управляемость и доступность
Купить виртуальный хостинг
Как настроить CMS для перенаправления HTTP на HTTPS?
Многие популярные системы управления контентом предлагают настройки, позволяющие перенаправлять весь HTTP-трафик на HTTPS. Эти настройки обычно находятся в бэкэнде CMS.
Если вы используете WordPress, вы можете ознакомиться с нашим специальным руководством о том, как принудительно включить HTTPS на сайте WordPress. А если вы используете другую CMS, вы можете проверить официальную документацию по CMS или задать вопрос на форумах поддержки сообщества для вашей CMS.
- разрешить как «www», так и «без www» . С этим набором правил весь ваш HTTP-трафик будет просто перенаправлен на HTTPS без каких-либо других изменений. Таким образом, если посетитель перейдет на