Apache Virtual Host перенаправляет из https-поддомена в подкаталог

Apache Virtual Host перенаправляет из https-поддомена в подкаталог

Как перенаправить запросы, поступающие наhttps://blog.example.comкhttps://example.com/blog?

Читая документацию Apache о том, когда не следует использовать режим перезаписи, я попробовал простое перенаправление, например

Redirect https://blog.example.com https://example.com/blog

Но когда я посещаюhttps://blog.example.com, он не перенаправляет меня. Только говорит об ошибке с сертификатом. Есть ли возможность перенаправить поддомен HTTPS? Он работает нормально с HTTP, когда я использую что-то вроде этого:

<VirtualHost *:80>
    ServerName blog.example.com
    Redirect / https://example.com/blog/
</VirtualHost>

Такие условия:

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

Работает только при использовании HTTP, а не HTTPS...

Спасибо.

решение1

Ваша конфигурация применяется к VirtualHost *:80, другими словами к httpпорту. Порт для https— 443. Найдите эту конфигурацию и примените перенаправление и там.

решение2

Я думаю, что для этого можно использовать mod_alias.

В вашем виртуальном хосте blog.example.com:

RedirectMatch (.*)$ / https://example.com/blog/$1

https://httpd.apache.org/docs/2.4/mod/mod_alias.html

решение3

Если браузер обнаружит ошибку сертификата, это прервет транзакцию.досрабатывает перенаправление. Если вы не используете HSTS, вы сможете подтвердить это, щелкнув по ошибке, и перенаправление продолжится как обычно. Сама ошибка может возникнуть по ряду причин, и браузер сообщит вам, какая из них применима, но наиболее вероятно, что ваш сертификат действителен только для example.comи не имеет записи SAN для blog.example.com(или для подстановочного *.example.com). Чтобы исправить это, вы можете либо повторно сгенерировать сертификат, включив это дополнительное имя, либо получить дополнительный сертификат и настроить конфигурацию вашего сервера для обслуживания этого для поддомена — в любом случае выбранный вами поставщик сертификатов (CA) должен быть в состоянии вам помочь.

Связанный контент