Foros del Web » Programando para Internet » PHP » Zend »

[APORTE] Usar subdominios con Zend Framework

Estas en el tema de [APORTE] Usar subdominios con Zend Framework en el foro de Zend en Foros del Web. Hace poco tuve que hacer un proyecto donde cada subdominio representaba un módulo de Zend, realmente fue una tarea muy sencilla de hacer y aquí ...
  #1 (permalink)  
Antiguo 14/09/2010, 10:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
[APORTE] Usar subdominios con Zend Framework

Hace poco tuve que hacer un proyecto donde cada subdominio representaba un módulo de Zend, realmente fue una tarea muy sencilla de hacer y aquí les dejo como pueden hacerlo en modo local para que luego lo puedan migrar a su servidor.

Lo primero es configurar en su archivo hosts los subdominios que quieran redirigir a su local:
Código:
127.0.0.1 default.domain.com
127.0.0.1 admin.domain.com
127.0.0.1 user.domain.com
Después en su Apache configuran 3 virtualhosts para esos subdominios y que apunten a la misma carpeta public de su aplicación en Zend.

Después es donde viene lo más sencillo de todo, hay que cambiar el router por defecto a uno que soporte los subdominios, y eso se hace en el bootstrap de una forma sencilla:
Código PHP:
Ver original
  1. protected function _initRoutes()
  2. {
  3.         $this->bootstrap('frontController');
  4.         $front = $this->getResource('frontController');
  5.         $router = $front->getRouter();
  6.         // Importante quitar la ruta default para usar la nuestra
  7.         $router->removeDefaultRoutes();
  8.        
  9.         // con esto hacemos el "match" al subdominio
  10.         $hostNameRoute = new Zend_Controller_Router_Route_Hostname(
  11.                   ':module.domain.com',
  12.                   array(
  13.                           'module' => 'default'
  14.                   )
  15.          );
  16.          // con esta hacemos match de las urls normales
  17.          $normalRoute = new Zend_Controller_Router_Route(
  18.                   ':controller/:action/*',
  19.                   array(
  20.                            'controller' => 'index',
  21.                            'action' => 'index'
  22.                   )
  23.          );
  24.          // la registramos como default en el router
  25.          $router->addRoute('default', $hostNameRoute->chain($normalRoute));
  26. }

Con esto todos nuestros links y demás funcionan normal y se sobreescriben correctamente al subdominio adecuado.

Espero les ayude por sí alguna vez necesitan hacer subdominios y usar Zend Framework.

Saludos.
  #2 (permalink)  
Antiguo 15/09/2010, 05:26
atrianaster
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [APORTE] Usar subdominios con Zend Framework

La verdad es que da gusto entrar a este foro por todos los aportes interesantes de muchos usuarios y en especial los tuyos.

Saludos.
  #3 (permalink)  
Antiguo 15/09/2010, 07:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: [APORTE] Usar subdominios con Zend Framework

Fíjate en estos momentos estoy trabajando en una aplicación que requiere de varios sub-dominios y me preguntaba como se podría lograr con Zend, gracias por el aporte, anotado entre los favoritos
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 15/09/2010, 08:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: [APORTE] Usar subdominios con Zend Framework

Me alegra que les haya gustado, necesito completarlo con la parte dos que es como hacer el deploy en web, aunque es mas sencillo alla ya que no hay que modificar mucho
  #5 (permalink)  
Antiguo 25/02/2011, 11:04
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [APORTE] Usar subdominios con Zend Framework

GatorV,

Se que paso algo de tiempo, pero quisiera pedirte si por favor podrías agregar la segunda parte que mencionaste.

Desde ya muchas gracias
  #6 (permalink)  
Antiguo 25/02/2011, 12:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: [APORTE] Usar subdominios con Zend Framework

Solamente tienes que modificar la ruta en el $hostNameRoute para que lea tu dominio real en lugar del local.

Saludos
  #7 (permalink)  
Antiguo 25/02/2011, 17:14
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [APORTE] Usar subdominios con Zend Framework

Gracias por tu respuesta, realmente soy bastante nuevo en zend y me cuesta bastante cada paso.

Quisiera pedirte si no es molestia, si pudieras poner un codigo de ejemplo para terminar de entenderlo bien.

Muchas gracias GatorV, sos muy amable y generoso al compartir tus conociemientos.

saludos,
  #8 (permalink)  
Antiguo 25/02/2011, 18:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: [APORTE] Usar subdominios con Zend Framework

vaya, el concepto es bastante claro y sencillo... imagino que se podría aplicar casi a cualquier framework que soporte segmentos y rutas dinámicas...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 26/02/2011, 14:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: [APORTE] Usar subdominios con Zend Framework

@krikis

Solamente modifica esta linea:
Código PHP:
Ver original
  1. $hostNameRoute = new Zend_Controller_Router_Route_Hostname(
  2.                   ':module.domain.com',
  3.                   array(
  4.                           'module' => 'default'
  5.                   )
  6.          );

Donde dice :module.domain.com pon tu dominio, ej :module.google.com y asegurate que todos los subdominios apunten a la misma carpeta public donde esta tu index.php.

@pateketrueke Así es
  #10 (permalink)  
Antiguo 26/02/2011, 21:13
 
Fecha de Ingreso: diciembre-2010
Mensajes: 13
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [APORTE] Usar subdominios con Zend Framework

Muchas gracias de nuevo, funciona perfecto.

Con esa aclaración me doy cuenta que era sencillo y que me tendría que haber dado cuenta solo.. de hecho lo supuse y estaba por probarlo pero me quedaba la duda de que faltaba algo mas cuando mencionaste lo de la segunda parte.

Sos groso GatorV.

Saludos
  #11 (permalink)  
Antiguo 19/04/2011, 14:34
 
Fecha de Ingreso: octubre-2010
Ubicación: Uruguay, Canelones
Mensajes: 66
Antigüedad: 14 años, 1 mes
Puntos: 6
Pregunta Consulta: Usar subdominios con Zend Framework

Entendí que se puede usar subdominios siempre que se los establezca en el archivo host.

Pero hay alguna forma de hacer de este subdominio dinámico, osea, por ejemplo realizar una aplicacion de bebida, y que el subdominio:

$hostNameRoute = new Zend_Controller_Router_Route_Hostname(
':compania.domain.com',
array(
'module' => 'default'
)
);


Pueda hacer para ej: cocacola.domain.com, pepsi.domain.com,..., etc.

Tengo terribles problemas con esto porque vi que no lo puedo establecer de otra manera que como explicas, pero estaría bueno que pudiera ser dinámico (si es que existe alguna forma)
  #12 (permalink)  
Antiguo 20/04/2011, 17:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: [APORTE] Usar subdominios con Zend Framework

Claro esa es la idea del aporte, los subdominios son dinamicos, lo que si debes de hacer es darlos de alta en tu archivo hosts, o en tu dominio, ya que es necesario que esten registrados en el servidor DNS, pero de la parte de Zend Framework es completamente dinámico.

Saludos.

Etiquetas: framework, subdominios, aportes
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

SíEste tema le ha gustado a 4 personas




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