Apache reescribir basado en el subdominio [cerrado]
-
09-06-2019 - |
Pregunta
Estoy tratando de redirigir las solicitudes de un dominio comodín para un sub-directorio.
es decir. something.blah.domain.com
--> blah.domain.com/something
No sé cómo obtener el nombre de subdominio para el uso de la regla de reescritura.
Solución Final:
RewriteCond %{HTTP_HOST} !^blah\.domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule ^(.*) /%1/$1 [L]
O como señaló pilif
RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
Solución
Usted debe tener una mirada en el Guía de Reescritura de URL a partir de la documentación de apache.
El siguiente es el análisis predictivo, pero se debe a que el truco:
RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R]
Esto sólo funciona si el subdominio no contiene puntos.De lo contrario, tendrías que modificar la Regexp en RewriteCond para que coincida con cualquier carácter que todavía debe trabajar debido a las maniobras de fondeo, pero este sin duda se siente más seguro.
Otros consejos
Intente esto:
RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com
RewriteRule ^(.+)$ /%1/$1 [L]
@pilif (ver el comentario):Bueno, eso es cierto.He copiado una .htaccess que tengo en uno de mis proyectos.Supongo que tiene un enfoque ligeramente diferente :)
@Sam
su RewriteCond línea está mal.La expansión de la variable se activa con el %, no $.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$
^
que debe hacer el truco