namevirtualhost multiple configurar addresses redirect virtualhost apache

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.