redirect - multiple - virtual host apache windows
Apache httpd.conf para redireccionar ip a nombre de host (4)
De acuerdo. Te falta una condición de reescritura
<VirtualHost XX.XX.XX.XX>
DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/
# Other directives here
RewriteEngine On
RewriteCond %{HTTP_HOST} !^ayz-abc.mysite.com$
RewriteRule /.* https://ayz-abc.mysite.com/ [R]
</VirtualHost>
Si no incluye esta condición, la redireccionará incluso con el nombre de host
Tengo una IP externa y un nombre de host configurado para mi máquina.
Dentro de la aplicación, estoy usando solo los nombres de dominio para acceder a las API. Entonces, cuando trato de acceder a mis API a través de la dirección IP, muestra 302 Error temporalmente movido. Entonces, para la solicitud (para la página de inicio) que golpea el servidor con la dirección IP, debe redirigir a nombre de host.
Es decir, cuando el usuario acceda a https: //XX.XX.XX.XX/main , debe redirigirse a https://ayz-abc.mysite.com/main.
Para esto intenté usar la redirección en httpd.conf de apache.
<VirtualHost XX.XX.XX.XX>
DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/
# Other directives here
RewriteEngine On
RewriteRule /.* https://ayz-abc.mysite.com/ [R]
</VirtualHost>
También he intentado con el siguiente
<VirtualHost *.portnum>
DocumentRoot "/var/www/html"
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule https://XX.XX.XX.XX/main https://ayz-abc.mysite.com/main [R=301,L]
</VirtualHost>
Plsssss ayúdame.
Prueba esto:
RewriteRule $ https://ayz-abc.mysite.com/ [L,R]
También puedes ver los registros de reescritura, mira aquí
Esto funciona para mí Agregue las configuraciones en httpd.conf de apache
CASO-1: cuando el usuario acceda a http: //XX.XX.XX.XX/main o http://ayz-abc.mysite.com/main , debe ser redireccionado a https://ayz-abc.mysite.com /principal
Configuración:
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
<VirtualHost *:80>
ServerName XX.XX.XX.XX
Redirect /main https://ayz-abc.mysite.com/main
</VirtualHost>
CASO 2: cuando el usuario acceda a https: //XX.XX.XX.XX/main , debe redirigirse a https://ayz-abc.mysite.com/main
Configuración:
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot "/var/www/html"
#Server Name
ServerName XX.XX.XX.XX
SSLEngine on
SSLOptions +StrictRequire
# Redirect to the specified URL
Redirect /main https://ayz-abc.mysite.com/main
<Directory />
SSLRequireSSL
</Directory>
....
....
</VirtualHost>
Si NO está utilizando API pero solo quiere que los navegadores y rastreadores vayan a la URL en lugar de a una dirección IP, puede usar RedirectPermanent.
<VirtualHost XX.XX.XX.XX>
RedirectPermanent / http://ayz-abc.mysite.com/
</VirtualHost>
<VirtualHost XX.XX.XX.XX>
DocumentRoot "/var/www/html"
ServerName ayz-abc.mysite.com/
</VirtualHost>
Tiene la ventaja de responder con el estado HTTP 301, que indica "utilice la URL a la que se le redirige en el futuro", lo que ayuda a los motores de búsqueda. Debe usar la misma solución si mueve su sitio a un nuevo dominio.