¿Cómo reescribo la URL de some-sub-domain.some-domain.com to some-domain.com/some-sub-domain

Quiero reescribir mi URL para poder llegar a la carpeta que los clientes ven como subdominio. El cliente pondrá lo siguiente en la barra de URL:

abc.def.com

y mediante la reescritura de URL se irá a

def.com/abc

silenciosamente. Por favor, dime ¿cómo puedo hacer eso?

preguntado el 16 de mayo de 11 a las 19:05

3 Respuestas

Deberías usar %{HTTP_HOST} en lugar de %{REMOTE_HOST}. Esto es porque %{REMOTE_HOST} es el resultado de la búsqueda de DNS inversa en %{REMOTE_ADDR} if HostnameLookups está habilitado.

Entonces tu regla debería ser

RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
RewriteRule ^(.*) /%1/$1 [L]

contestado el 17 de mayo de 11 a las 08:05

Hay muy pocos cambios en su RewriteRule para que funcione tan bien

 RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
 RewriteRule ^(.*)$ /%1/$1 [L]

Debe usar $ en RewriteRule. Espero que esto te ayude.

contestado el 17 de mayo de 11 a las 10:05

Si ya conoce el subdominio, puede:

RewriteCond %{REMOTE_HOST} ^(?:www\.)?subdomain\.your_domain\.com [NC]
RewriteRule ^(.*) /subdomain/$1 [L]

Y si desea admitir CUALQUIER subdominio posible, use:

RewriteCond %{REMOTE_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC]
RewriteRule ^(.*) /%1/$1 [L]

contestado el 16 de mayo de 11 a las 23:05

Perdón por decirlo, pero no me funciona. Para su información, cuando uso el subdominio, no llega a ninguna parte. El navegador dice que el servidor no se encuentra. - Tareq

Luego, debe agregar el subdominio a su DNS. Lo anterior asume que el subdominio es accesible y apunta al servidor web que ejecuta mod_rewrite. - Rob Raisch

mod_rewrite está habilitado en mi servidor web. Si utilizo el subdominio comodín (*), todavía no hay resultado. Qué tengo que hacer ? - Tareq

Sin más información sobre su configuración, me temo que no puedo ayudar. ¿Cuál es el dominio de su servidor web y el subdominio que desea servir? - Rob Raisch

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.