Как исправить мой .htaccess для перенаправления на https://www? - PullRequest
0 голосов
/ 30 апреля 2019

Я знаю, что многие люди задают вопросы, похожие на мои, но я хочу понять, где моя ошибка. У меня проблема с моим .htaccess, я хочу перенаправить все основные записи на https://www.example.com.

http://example.com to https://www.example.com
http://www.example.com to https://www.example.com
https://example.com to https://www.example.com
http://example.com/index.html to https://www.example.com
http://www.example.com/index.html to https://www.example.com
https://example.com/index.html to https://www.example.com

Все должно быть перенаправлено на https://www.example.com, но на данный момент это не работает, может кто-нибудь помочь мне улучшить мой код и объяснить, где была моя ошибка, пожалуйста?

Мой код:

    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP:X-Forwarded-SSL} !on
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC]
    RewriteRule . http://www.%{HTTP_HOST}%1 [R=301,NE,L]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
    RewriteCond %{REQUEST_URI} ^(.*/)index\.html$ [NC]
    RewriteRule . %1 [R=301,NE,L]

Спасибо.

возможный дубликат: Возможно, я чего-то не понимаю, но для меня Перенаправление htaccess на https://www не отвечает на мой вопрос, поскольку не устраняет часть /index.html моего вопроса.

1 Ответ

1 голос
/ 01 мая 2019

Измените свои изменения в файле .htaccess на следующие правила:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^\/index.(htm|html)$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ https://www.example.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://www.example.com%{REQUEST_URI} [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...