¿Cómo redirijo las solicitudes que llegan ahttps://blog.ejemplo.comahttps://ejemplo.com/blog?
Al leer los documentos de Apache sobre cuándo no usar el mod de reescritura, probé una redirección simple, por ejemplo
Redirect https://blog.example.com https://example.com/blog
Pero cuando visitohttps://blog.ejemplo.com, no me redirige. Sólo dice error con un certificado. ¿Existe alguna posibilidad de redirigir el subdominio HTTPS? Funciona bien con HTTP cuando uso algo como esto:
<VirtualHost *:80>
ServerName blog.example.com
Redirect / https://example.com/blog/
</VirtualHost>
Condiciones como estas:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$
RewriteRule ^/(.*)$ https://example.com/%1/$1 [R=301,L]
Solo funciona cuando se usa HTTP, no HTTPS...
Gracias.
Respuesta1
Su configuración se aplica a VirtualHost *:80
, en otras palabras, al http
puerto. El puerto https
es 443. Busque esa configuración y aplique la redirección allí también.
Respuesta2
Creo que puedes usar mod_alias para eso.
En tu blog.example.com Virtualhost:
RedirectMatch (.*)$ / https://example.com/blog/$1
Respuesta3
Si el navegador marca un error de certificado, se interrumpirá la transacción.antesla redirección se activa. Si no utiliza HSTS, podrá confirmarlo haciendo clic en el error y la redirección continuará normalmente. El error en sí podría deberse a varias razones y el navegador le dirá cuál corresponde, pero lo más probable es que su certificado solo sea válido example.com
y no tenga una entrada SAN para blog.example.com
(o para el comodín *.example.com
). Para solucionar este problema, puede volver a generar el certificado para incluir este nombre adicional, o puede obtener un certificado adicional y ajustar la configuración de su servidor para servir este para el subdominio; en cualquier caso, su proveedor de certificados (CA) elegido debería poder para ayudarte.