Htaccess редирект https://www. (https://www.example.com) на не www (https://example.com)

Я пытаюсь перенаправить все запросы с http на https и все запросы с www. на не www (https://), но что бы я ни пытался, это не работает. В частности, перенаправление с https://www.example.com на https://example.com не работает. Все остальное работает нормально. Я пробовал много разных способов, которые нашел здесь, в stackoverflow и других сообщениях в Интернете, но ни один из них не работает для меня. Когда я перехожу к https://www.example.com, я получаю предупреждение о сертификате, потому что сертификат выдан https://example.com. Я действительно отказываюсь от этого, так как я пробовал его уже два дня ...

Может быть, я делаю что-то совершенно неправильно или я забыл что-то еще. Помощь очень ценится, спасибо.

Это код, который я использую прямо сейчас

RewriteEngine on
# www -> https without www
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]
# http -> https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

Ваше здоровье

Перезапись запроса не может каким-то волшебным образом обойти проверку сертификата на стороне клиента. Первоначальные запросы идут на www.example.com. Если клиент не может проверить указанный сертификат для этого запроса, он выдает пользователю сообщение об ошибке. Обойти это невозможно. Вам нужен либо дополнительный сертификат для этого хоста, либо групповой сертификат.

arkascha 26.07.2019 17:36

Хорошо, да, я понял. Перезапись не является проблемой, поскольку она работает, когда я принимаю предупреждение о сертификате. На самом деле в этом есть большой смысл. Спасибо, что прояснили это для меня. Похоже, мне нужен новый сертификат.

cadelsberger 31.07.2019 15:50
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У Аркаши был правильный ответ, поэтому я цитирую его комментарий:

Request rewriting cannot somehow magically get you around the client side certificate validation. The initial requests goes to www.example.com. If the client cannot validate the specified certificate for that request it issues an error to the user. There is no way around that. You either need an additional certificate for that host or a wildcard certificate.

Что это? Вы не добавляете контент Любые сами, а просто цитируете чужой ответ? И опубликовать это как «ответ»? Вы действительно уверены, что это было полезно? Или, может быть, вы просто хотели получить принятый ответ? Если вы это сделаете, то хотя бы имейте скромность правильно указать, откуда вы воровали. Спасибо.

arkascha 31.07.2019 21:25

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