htaccess redireccionar sin cambiar la url

En éstos días he estado trabajo en redirecciones en las que tenía que mantener la url de un subdominio en la barra de navegación mientras que internamente se solicita información de otra url.
Lo explico con un ejemplo. Solicitemos la siguiente url, que es un subdominio, php.pedroventura.com, desde la cual internamente se está obteniendo la información de www.pedroventura.com/php/. También se puede hacer para obtener contenido desde otros servidores.

En apache esto se consigue con mod_rewrite, mod_proxy y mod_proxy_http. Cuando se crean las reglas de redirección hay que agregar el flag [P]. Mediante este flag mod_rewrite habilita el paso de urls, vía mod_proxy a otro servidor o a sí mismo.

Habilitar mod_proxy

– En distribuciones tipo Ubuntu:

sudo a2enmod proxy
sudo a2enmod proxy_http

– En distribuciones tipo RedHat:

En el archivo de configuración de apache /etc/httpd/conf/httpd.conf

Comprueba que las siguientes lineas están descomentadas

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Configuración del módulo de proxy

Esta es la configuración que tengo en mi servidor de desarrollo

root@localhost:/home/pedro# cat /etc/apache2/mods-enabled/proxy.conf

<IfModule mod_proxy.c>

ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from localhost
</Proxy>
ProxyVia On

</IfModule>

Ejemplo de reglas de redirección en htaccess

Esta regla es para redireccionar cualquier subdominio que no sea www

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.pedroventura\.com$
RewriteCond %{HTTP_HOST} ^(.*)\.pedroventura\.com$
RewriteRule ^$ /index.php?id=%1 [P,L]

Si quieres crear una agrupación de subdominios específicos tienes que crear la expresión regular específica

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(subdominioA|subdominoB|subdominioC).pedroventura\.com$
RewriteRule ^$ /index.php?id=%1 [P,L]

Fuentes y Lecturas recomendadas:

Una respuesta a “htaccess redireccionar sin cambiar la url”

  1. Muy buenas tardes Pedro, solo quería comentarte que me encanta tu página web. Tus contenidos sobre servidores me parecen muy útiles . Yo suelo trabajar en temáticas del estilo.
    Has ganado un asiduo seguidor de tus artículos.
    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *