Foros del Web » Programando para Internet » PHP »

Redirección de subdominio

Estas en el tema de Redirección de subdominio en el foro de PHP en Foros del Web. Para encadenar más de un subdominio puedes usar ifs anidados (con elseif). Pero es más limpio y elegante usar un switch. Para ello, primero habría ...

  #31 (permalink)  
Antiguo 10/01/2008, 13:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Redirección de subdominio

Para encadenar más de un subdominio puedes usar ifs anidados (con elseif). Pero es más limpio y elegante usar un switch.

Para ello, primero habría que parsear la variable donde tienes la petición, eliminar las www si las tuviese. y quedarse sólo con el subdominio (se puede hacer jugando un poco con las funciones de cadenas de PHP, o incluso metiéndose con expresiones regulares)

Una vez hecho eso, creas el switch que mire en esa nueva variable donde se ha sacado el subdominio y vas poniendo los diferentes case. Al final tendrás un default.

No es muy complicado.
  #32 (permalink)  
Antiguo 10/01/2008, 15:56
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Redirección de subdominio

El post que hice atras, te sirve para CUALQUIER subdominio. Lo ves?
Solo debes crear una carpeta con el nombre del subdominio y funciona autimáticamente.

Puedes usar así 1000 subdominios con el mismo script. Lee más arriba!!!!!

Saludos
  #33 (permalink)  
Antiguo 10/01/2008, 16:09
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Redirección de subdominio

Le he echado una ojeada al script que has puesto y está bastante bien. Aunque haces un header, con lo que en la barra de direcciones se verá el directorio cambiado.

Si se quiere que se vea el subdominio se haría un require_once, por ejemplo. Aunque habría que tener mucho cuidado con las rutas, ya que deberían ser relativas a la raiz.

Por otra parte, si se quiere controlar los subdominios pienso que es más efectivo un switch. También ten en cuenta que si en el dominio tiene cualquier otra carpeta que no incluya páginas HTML (por ejemplo imágenes, css, etc...) también lo cargaría tu script (imagenes.dominio.com lo redireccionaría al directorio imágenes).

Por último, y para rizar el rizo, podría estar guardado en un fichero de configuración o en una BDD los subdominios permitidos, así como la ubicación donde tienen que apuntar sus requires. Aunque esta opción la veo excesiva.

Yo me quedaría con el switch.
  #34 (permalink)  
Antiguo 10/01/2008, 16:46
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Mensaje Re: Redirección de subdominio

Si se trata de controlar los subdominos, se puede hacer modificando levemente el script anterior. Por eso dije... se puede mejorar (mira más abajo).

Con respecto al include... claro que se puede, pero ya deberíamos de programar un sistema más complejo.


Código PHP:
// VEMOS EL DOMINO
$dominio $_SERVER['HTTP_HOST'];
//SUBDOMINIOS PERMITIDOS
$subdominios = array('test1','test2','test3');
// QUITEMOS EL WWW DE LA URL SI ESTA
$dominio str_replace('www.','',$dominio);
// SEPARAMOS LA URL POR EL PUNTO DESPUES TOMAMOS EL $sector[0] DEL ARRAY PARA ESTAR EN EL SUBDOMINIO
$sector explode('.',$dominio);
// ESTE IF COMPRUEBA QUE EN LA URL HAYA UN SUBDOMINIO, POR EJEMPLO:
// subdomninio1.retorciendo-palabras.net --> lo toma
// www.subdomninio1.retorciendo-palabras.net --> lo toma
// retorciendo-palabras.net --> no lo toma
// www.retorciendo-palabras.net --> no lo toma (al www lo sacamos antes)
// Si no se comple la condición se ejecuta el directorio por default
if (count($sector) > 2) {
 
// PATH DE SERVIDOR
$path '/var/www/vhost/retorciendo-palabras.net/public_html/'// DEBES PONER AQUI TU PATH EN EL SERVIDOR DE TU WEB
 
// COMPROBEMOS QUE EXISTA LA CARPETA PARA QUE NO ENVIEMOS AL VISITANTE A UNA CARPETA INEXISTENTE, TAMBIEN NOS FIJAMOS SI ESE SUBDOMINIO ESTA PERMITIDO
if (file_exists($path.$sector[0]) && in_array($sector[0],$subdominios)) {
header('Location: http://www.retorciendo-palabras.net/'.$sector[0].'/');
exit();
}

Saludos
  #35 (permalink)  
Antiguo 10/01/2008, 17:01
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Redirección de subdominio

Así ya me gusta más. Además, modificándolo un poquito más se puede meter también en un array (o en el mismo que los subdominios) el fichero a incluir (index.php o lo que sea), e incluso contemplar la posibilidad de que no esté definido...

(la verdad es que suelo ser bastante maniático con esas cosas, procuro hacerlo todo lo configurable y escalable que se pueda, no obstante, tal y como está ahora me parece una buena opción).
  #36 (permalink)  
Antiguo 10/01/2008, 17:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
De acuerdo Re: Redirección de subdominio

Cita:
la verdad es que suelo ser bastante maniático con esas cosas, procuro hacerlo todo lo configurable y escalable que se pueda...
Opino igual, exacto.

Saludos
  #37 (permalink)  
Antiguo 10/01/2008, 21:16
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Re: Redirección de subdominio

Amigos: he leido el hilo y tengo unas dudas:

RewriteCond %{HTTP_HOST} ^test.betadir.com$
RewriteRule .* http://betadir.com/test/ [r]

Sirve sin tocar los DNS ?
Que pasa si mi host server solo me permite un subdominio ? funcionará ?

A ver si me aclaran un poco el tema... que me interesa... // gracias!
__________________
Salu2!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.