301 Редирект в htaccess с http + www на https без www

301 редирект в создании сайтов и их же продвижении играет самую важную скрипку, ведь при криво настроенном перенаправлении ваш сайт с легкостью вылетит из поиска, раздублируются страницы по самое немогу, а также привнесет раздрай в вашем творении. И чтобы этого не произошло надо настраивать 301 Редирект в htaccess правильно! (с Домена на нужный Домен, со Страницы на правильную Страницу). 

А пока немного теории: 301 редирект это по сути простая 301-ая ошибка (301 Permament Redirect), которая возвращается сервером при запросе конкретного адреса вашего сайта, расшифровывается так: «Сайт на постоянной основе перенесен на такой-то адрес». Все пользователи, боты и другие инопланетные обитатели зашедшие на ваш сайт, будут перенаправляться по новому месту прописки, и для поисковых систем Яндекс, Гугл и других (произойдет склейка домена), весь вес сайта будет перенесен на новый адрес. (.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Примечание!
1) site.ru — нужно заменить на ваш адрес сайта
2) Эти две строчки: 

Options +FollowSymLinks
RewriteEngine On

Сразу прописаны в файле .htaccess в CMS Joomla 1.5 / 2.5 / 3.x / итд.
Однако если вы их не нашли в этом файле то, чтобы код работал, их необходимо прописать.

Также чтобы не забыть — Простые редиректы!

На другой сайт:

Redirect 301 / http://site.com

Страница на сайт:

Redirect 301 /katalog/tovar1.html http://drugoysite.ru/tovar2.html

Страница на страницу:

Redirect 301 /katalog/tovar-old.html /katalog/tovar-new.html

Я делаю сайты на Joomla 3, но эти редиректы подходят большинству сайтов на php с . http$ RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

wordpress — Используйте .

htaccess для перенаправления HTTP на HTTPs

Я пробовал этот пост и многие другие (1, 2, 3, 4), но все они дают мне TOO_MANY_REDIRECTS или ошибку 500. Итак, вот моя проблема:

С моим текущим .htaccess происходит следующее:

https://www.dukescasino.com/ — работает отлично

https://dukescasino.com/ — перенаправляет на вышеуказанное, что отлично

Два варианта ниже загружается нормально, но он должен перенаправлять на версию https: 9индекс\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л]

Не думаю, что это актуально, но если да, то вот список текущих активных плагинов:

  • Расширенные настраиваемые поля
  • Все в одном SEO-пакете
  • Тип элемента окна поиска Bop для навигационных меню
  • Контактная форма 7
  • Отключить комментарии
  • Google XML Sitemaps
  • Jetpack от WordPress.com
  • Поиск и фильтр
  • Слайдер WD
  • Настольный пресс
  • UpdraftPlus — резервное копирование/восстановление
  • Безопасность Wordfence
  • WPide
  • WP Смуш
  • Суперкэш WP

Выполненные тесты:

Тест A:

  index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи. /index.php [Л]

 9индекс\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи. /index.php [Л]

 

Результат: 302 найдено. Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 500 Internal Server Error.

.htaccess перенаправление на https и www

Категория: Блог • Автор: Джефф Старр • Обновлено:

, среда, 6 января 2021 г., 15:42

Если ваш сайт обслуживает защищенные страницы через HTTPS (т. е. через SSL / TLS ), вам может понадобиться метод перенаправления всех HTTP-запросов на HTTPS. Затем, чтобы продолжить свои усилия по канонизации, вы также можете перенаправить все запросы с www на не-www (или наоборот). Оба эти метода необходимы для обслуживания канонических версий ваших веб-страниц, так почему бы не объединить их

в один простой фрагмент .htaccess? Читайте дальше, чтобы узнать, как..

Перенаправление на https и без www 9www\.example\.com [NC] RewriteRule (.*) https://example.com/$1 [L,R=301]

Как и прежде, поместите этот код в корень .htaccess вашего сайта. Вот что он делает:

  1. Проверяет, доступен ли mod_rewrite
  2. Проверяет, отключен ли HTTPS или содержит ли запрос www
  3. Если одно из условий соответствует, запрос соответствует требованиям и перенаправляется на адрес https/non-www
  4. .

При размещении в корне .htaccess этот метод охватывает

все запросов, обеспечивая полную канонизацию https/non-www для вашего сайта. Не забудьте заменить два экземпляра example.com своим собственным доменным именем.

Примечание: если ваш сайт страдает от дублирования страниц из-за добавления index.php к запрошенным URL-адресам, ознакомьтесь с этим сообщением на WP-Mix.com, в котором объясняется, как удалить www и index.php из URL-адреса.

Перенаправление на https и www

Следующий метод .htaccess перенаправляет квалифицированные запросы на 9www\. [НЗ] RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Этот код выполняет следующие действия:

  1. Первые две строки условно перенаправляют на https. Если для переменной HTTPS установлено значение off, то запрос перенаправляется на https (см. примечания ниже, если используется прокси-сервер).
  2. Вторые две строки перенаправляют на www. Если запрос/хост не начинается с www. запрос перенаправляется на www.

При размещении в корне . htaccess этот метод покрывает всех запросов, обеспечивая полную канонизацию https/www для вашего сайта. Этот код не требует редактирования; это полностью plug-n-play.

Примечания при использовании прокси-сервера

Как объяснено здесь:

«При использовании некоторых форм прокси-сервера, когда клиент подключается через HTTPS к прокси-серверу, балансировщику нагрузки, приложению Passenger и т. д., %{HTTPS} переменная никогда не может быть на и вызывать цикл перезаписи. Это связано с тем, что ваше приложение на самом деле получает простой HTTP-трафик, даже если клиент и прокси-сервер/балансировщик нагрузки используют HTTPS. В этих случаях проверьте 9Заголовок 0136 X-Forwarded-Proto вместо переменной %{HTTPS}

Поэтому, если вы используете какой-либо прокси-сервис или аналогичный, добавьте следующую строку в приведенный выше код:

 RewriteCond %{HTTP :X-Forwarded-Proto} !https 

Итоговый результат при использовании прокси-сервера выглядит так:

 # Canonical https/www (при использовании прокси)