HTTP to HTTPS Redirect добавляет оба URL

Я работаю на сайте, который в основном настраивается, и HTTP не перенаправляется на HTTPS правильно.

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

Я посмотрел на это по-разному и рисую пустое место.

Перепишите HTTP-запрос для index.php просто на доменное имя

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ https://www.*****.com [R=301,L]

301 Redirect - перенаправление на index.php, если веб-страница отсутствует

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . index.php [L]

Исправить проблему канонизации - добавьте www в HTTP-запрос, если он отсутствует

RewriteCond %{http_host} ^insynergystl.com [nc]
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.insynergystl.com/$1 [r=301,nc] 

Всегда используйте https для безопасных подключений

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.insynergystl.com/$1 [R=301,L]
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
39
1

Ответы 1

Попробуйте поместить перенаправление https в начало списка перенаправления в .htaccess, в качестве альтернативы самой конфигурации виртуального хоста.

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

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

LogLevel alert rewrite:trace8
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
LogLevel alert rewrite:trace3

http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging

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

Другие вопросы по теме