Редирект с http на https и с www на без www htaccess
Как сделать 301 редирект для всего сайта с http и www на https без www?
Заранее благодарен всем, кто поможет с этой проблемой!:)
Ещё можно для http сделать отдельный виртуальный хост и редиректить с него по этому правилу
И аналогично сделать виртуальный хост для www отдельный и редиректить там так
Поясню разницу подходов, если будут отдельные виртуальные хосты будет оптимальнее. Ведь if проверяется при каждом открытии тратя ресурсы, а если редиректы распиханы по виртуальным хостам ресурсы не тратятся)
Ну во первых всё зависит от того как сконфигурирован Nginx. Наиболее популярный вариант расположения конфига сайта вот тут
/etc/nginx/sites-available
Естественно этот конфиг ещё должен быть добавлен симлинком в папку
/etc/nginx/sites-enabled
либо должен сразу там находиться.
как протестировать конфигурацию NGINX
Если же говорить про настройку через панель, то там есть специальный пункт в котором просто указываешь эти строки, а панель уже сама обо всём побеспокоится. Правда просто?
Редирект с http на https и с www на без www htaccess
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. +7 (926) 263 83 47
301 Редирект в htaccess с http + www на https без www
301 редирект в создании сайтов и их же продвижении играет самую важную скрипку, ведь при криво настроенном перенаправлении ваш сайт с легкостью вылетит из поиска, раздублируются страницы по самое немогу, а также привнесет раздрай в вашем творении. И чтобы этого не произошло надо настраивать 301 Редирект в htaccess правильно! (с Домена на нужный Домен, со Страницы на правильную Страницу).
А пока немного теории: 301 редирект это по сути простая 301-ая ошибка (301 Permament Redirect), которая возвращается сервером при запросе конкретного адреса вашего сайта, расшифровывается так: «Сайт на постоянной основе перенесен на такой-то адрес». Все пользователи, боты и другие инопланетные обитатели зашедшие на ваш сайт, будут перенаправляться по новому месту прописки, и для поисковых систем Яндекс, Гугл и других (произойдет склейка домена), весь вес сайта будет перенесен на новый адрес.
Однако санкции наложенные на старый сайт перенесены не будут, иначе все конкуренты давно бы наклепали редиректов со своих ГовноСайтов на сайты конкурентов.
Базовая настройка редиректа с WWW.site.ru на site.ru до появления защищенного протокола выглядела так:
Обратный редирект с site.ru на WWW.site.ru так:
Теперь же когда повсеместно стали использоваться Https (SSL) защищенные протоколы. Стали делать переадресацию с с http на https
Но тут возник вопрос. Как же правильно объединить эти 2 301 редиректа в один, получить компактный код и чтобы не слишком заморачиваться. На просторах интернета я нашел такой вот код и он меня вполне устраивает.
Сразу и перенаправление с www на без + редирект с http на https :
На другой сайт:
Страница на сайт:
Страница на страницу:
21 способ перенаправления c http на https (redirect)
Очень много вопросов ходит вокруг данной темы. Как сделать свой сайт безопасным? Наша веб-студия mad design собрала все возможные варианты, какими пользуемся мы:
Первое, что необходимо сделать, это получить SSL-сертификат. Вы можете приобрести его или получить бесплатно у большинства компаний, которые предоставляют услуги хостинга.
Что такое SSL-сертификат и зачем он нужен:
И так, сертификат куплен. Теперь нам необходимо, что бы наш ресурс с http://вашдомен.ru переходил автоматически на https://вашдомен.ru. Для этого необходимо все настройки и манипуляции произвести в файле «.htaccess», который располагается в корневой папке вашего сайта.
Вот все самые простые и популярные варианты настройки редиректа для разных сценариев:
В предложенном варианте:
При использовании 301 редиректа рейтинг сайта в поисковых системах сохраняется.
Аналогичный синтаксис простого редиректа в другом примере:
В примере ниже выполняется редирект с www.old-domain.ru на www.new-domain.ru:
RewriteCond задает условие, при котором происходит выполнение правила, указанного в RewriteRule. Таким образом, при запросе любой страницы www.old-domain.ru или old-domain.ru будет осуществлен переход на адрес www.new-domain.ru.
Данное перенаправление также может быть выполнено двумя способами. В примерах осуществляется редирект с forum.example.ru на www.forum.example.ru.
Способ 2 (в данном способе нет необходимости указания домена).
301 редирект c http на https через htaccess
301 редирект с http на https позволяет осуществить полный переезд сайта на защищенный протокол после установки SSL-сертификата.
Как сделать 301 редирект с http на https через htaccess
При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:
Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:
RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]
Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]
Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]
Перенаправление с https на http
При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:
Как это сделать?
Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.
Вводим нужное нам правило.
Как проверить работу 301 редиректа?
Для этого можно использовать инструмент проверки ответа сервера Яндекса:
Здесь вводим адрес первой страницы и видим следующее:
Как видим правило применилось и работает корректно.
Подписывайтесь на наш канал в Яндекс.Дзен
Подписывайтесь на наши социальные сети
Вам также будет интересно
Комментарии 4
Выдает ошибку — ERR_TOO_MANY_REDIRECTS
(( Как быть?
Добрый день, спасибо за обратную связь, скорей всего у Вас стоит слишком много правил на редиректы. Рекомендую отключить лишние модули на сайте, которые перенаправляют пользователей, так как Ваш сайт на WordPress использовать именно модуль для редиректа, это проще и легче.
Как это сделать описано здесь: https://seopulses.ru/redirect-dlya-sayta-na-wordpress-cherez-plagin-ili-htaccess/
Ты своей говно — статьёй вводишь людей в заблуждение!
Я из-за тебя кучу времени потратил!
Долбоёб — удали свою писанину и не занимайся этим.
Добрый день, спасибо за обратную связь, не могли бы подсказать какой именно момент в инструкции вызвал проблемы?
На хостинге RU-CENTER в настоящее время используется веб-сервер Apache версии 2.4.
Директивы файла .htaccess действуют для каталога, в котором размещён такой файл, и для всех его подкаталогов. Если вы желаете с помощью .htaccess изменить настройки для сайта в целом, его следует размещать в корневом каталоге сайта
Пожалуйста, будьте внимательны при редактировании файла .htaccess! При сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов мы рекомендуем использовать не «Блокнот» Windows, а специальные текстовые редакторы, например Notepad++.
1. Перенаправление доменов c синонима сайта на основной домен с кодом 301
Перенаправить запросы на domain.ru с любого из синонимов сайта
RewriteEngine On
RewriteCond %
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]
Перенаправить запросы на www.domain.ru с любого из синонимов сайта
RewriteEngine On
RewriteCond %
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]
Эти правила рекомендуется размещать в самом начале файла .htaccess.
2. Постоянное перенаправление с кодом 301
Redirect 301 /page.html http://www.domain.ru/new_page.html
Например, для перенаправления всех запросов к странице /period/?test=123 вашего сайта на domain.ru, вы можете написать:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %
RewriteRule ^period/$ http://domain.ru/ [L,R=301]
3. Переопределение страниц ошибок
#401 Авторизация не выполнена
ErrorDocument 401 http://domain.ru/errors/401.html
#403 Доступ запрещен
ErrorDocument 403 http://domain.ru/errors/403.html
#404 Страница не найдена
ErrorDocument 404 http://domain.ru/errors/404.html
#500 Внутренняя ошибка сервера
ErrorDocument 500 http://domain.ru/errors/500.html
Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге
Для того чтобы при случайном упоминании прямых ссылок на такие страницы они не проиндексировались в поисковых системах, рекомендуется:
User-agent: *
Disallow: /errors
/ваш_домен/docs/errors/.htaccess, в котором прописать
4. Постраничное перенаправление запросов на другой домен c кодом 301
Следующий код перенаправит все запросы к страницам вашего сайта на аналогичные страницы другого сайта, например, запрос http://domain.ru/main будет переадресован на http://www.newdomain.ru/main:
Redirect 301 / http://www.newdomain.ru/
RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]
5. Ограничение доступа к сайту по IP
Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3
Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3
Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:
Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3
Запретить доступ к сайту для всех:
6. Переопределение главной страницы сайта (индексного файла каталога)
Сделать главной страницей файл menu.html:
8. Запрет выдачи листинга каталога
В случае отсутствия в папке главной страницы (индексного файла), при обращении без указания конкретного имени файла в запросе будет выдан список всех файлов, находящихся в каталоге. Для того чтобы запретить отображение листинга каталога, добавьте в файл .htaccess строку:
Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).
10. Блокировка переходов со сторонних ресурсов
Для запрета перехода c baddomain.ru на domain.ru добавьте в .htaccess следующее:
Если требуется запретить переходы с нескольких доменов, то используйте следующие директивы
В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.
Например, для перенаправления site.ru на caйт.рф нужно воспользоваться следующим правилом:
RewriteEngine on
RewriteCond %
RewriteRule ^(.*)$ http://xn--80aswg.xn--p1ai/$1 [R=301,L]
В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.
12. Перенаправление с HTTP на HTTPS и обратно
Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.
Перенаправить запросы на https://domain.ru
Перенаправить запросы на http://domain.ru
3. Диагностика ошибок
Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.