Используйте .htaccess для перенаправления HTTP на HTTP

Пожалуйста, не рекомендуйте мнедлинная и очень подробная тема более 173 голосов. Это не сработало для меня. Я также пробовал много других (1, 2, 3, 4). Все они дают мне TOO_MANY_REDIRECTS или ошибку 500. Итак, вот моя проблема:

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

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

https://dukescasino.com/ - перенаправляет на выше, что здорово

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

http://www.dukescasino.com/

http://dukescasino.com/

Вот текущий .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

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

Расширенные пользовательские поляВсе в одном пакете SEOОкно поиска бопа Тип элемента для навигационных менюКонтактная форма 7Отключить комментарииGoogle XML SitemapsДжетпак от WordPress.comПоиск и фильтрСлайдер WDTablePressUpdraftPlus - Резервное копирование / ВосстановлениеWordfence SecurityWPideWP SmushWP Super Cache

Редактировать 1 - Тесты выполнены:

Тест А:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Результат: ERR_TOO_MANY_REDIRECTS

Тест Б:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Результат: ERR_TOO_MANY_REDIRECTS

Тест С:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{SERVER_PORT} ^80$
 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Результат: ERR_TOO_MANY_REDIRECTS

Тест D:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Результат: ERR_TOO_MANY_REDIRECTS

Тест Е:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}$1

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

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

Ответы на вопрос(16)

Ваш ответ на вопрос