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

404 Not Found sin VirtualHost

Estas en el tema de 404 Not Found sin VirtualHost en el foro de Zend en Foros del Web. Hola a todos Quisiera que me ayuden, tengo wamp instalado en mi equipo y tengo unas aplicaciones que estoy trabajando con 2 frameworks distintos y ...
  #1 (permalink)  
Antiguo 04/06/2012, 23:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 11 años, 3 meses
Puntos: 2
Pregunta 404 Not Found sin VirtualHost

Hola a todos

Quisiera que me ayuden, tengo wamp instalado en mi equipo y tengo unas aplicaciones que estoy trabajando con 2 frameworks distintos y sin usar virtual host, una de estas la estoy desarrollando con Zend Framework y resulta que cuando trato de ingresar me da el error 404 "The requested URL /sistema/auth/login was not found on this server." no quiero utilizar virtual host por que si lo hago no puedo acceder a mi otra aplicacion y no quiero crear un virtualhost por cada aplicacion que este trabajando, entonces tengo la siguiente estructura.
sistema
|---Application
|---Library
|--public
index.php

Segun vi por ahi de pasadita con esta estructura ya no es necesario tener un index y un htaccess en public.

index.php [dir raiz]
Código PHP:
Ver original
  1. <?php
  2.  
  3. // Define path to application directory
  4. defined('APPLICATION_PATH')
  5.     || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));
  6.  
  7. // Define application environment
  8. defined('APPLICATION_ENV')
  9.     || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
  10.  
  11. // Ensure library/ is on include_path
  12. set_include_path(implode(PATH_SEPARATOR, array(
  13.     realpath(APPLICATION_PATH . '/../library'),
  14.     realpath(APPLICATION_PATH . '/../library/dompdf/'),
  15. )));
  16.  
  17. date_default_timezone_set('Chile/Continental');
  18.  
  19. /** Zend_Application */
  20. require_once 'Zend/Application.php';
  21.  
  22. // Create application, bootstrap, and run
  23. $application = new Zend_Application(
  24.     APPLICATION_ENV,
  25.     APPLICATION_PATH . '/configs/application.ini'
  26. );
  27. $application->bootstrap()
  28.             ->run();

El Punto es que no arranca la aplicacion en vez de mostrarme el form de login me muestra error 404 ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 05/06/2012, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: 404 Not Found sin VirtualHost

De hecho sí es necesario el index.php y el .htaccess ya que el index.php es tu archivo inicial, es desde donde se hace el request, y el .htaccess es el que interpreta el ModRewrite.

Ahora otro detalle, no por tener un VirtualHost vas a perder tu otra aplicación, precisamente para eso es un VirtualHost para tener otro host virtual aparte de localhost, así que vas a poder tener en tu localhost las aplicaciones que quieras y crear "n" hosts virtuales para las aplicaciones que uses con Zend.

Saludos.
  #3 (permalink)  
Antiguo 05/06/2012, 22:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: 404 Not Found sin VirtualHost

Gracias GatorV pero como hago eso de poder tener una aplicacion accediendola sin virtual host o sea localhost/miapp y otra con zend usando virtual host o sea por ej: miapp.local sin que accediendo a una la otra me arroja el error de denegacion de acceso a la pagina por que no se encuentra en el servidor. Otra cosa entonces tendria que ir en la raiz de la aplicacion un index.php y un htaccess y ademas dentro de la carpeta public debe ir otro index.php y otro htaccess.???? como serian las configuracion de estos.?

Saludos cordiales,
  #4 (permalink)  
Antiguo 05/06/2012, 23:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: 404 Not Found sin VirtualHost

Cuando hagas tus Virtualhosts debes de hacer uno para localhost, y otro para tu aplicación en Zend App

No, solo debe de existir el index.php y el .htaccess de tu aplicación de Zend, deben de estar en la carpeta public y el DocumentRoot de tu VirtualHost debe de apuntar a la carpeta public de donde este tu app en Zend.

Saludos.
  #5 (permalink)  
Antiguo 05/06/2012, 23:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: 404 Not Found sin VirtualHost

GatorV

Me podras ayuda con unos ejemplos tengo wamp instalado y dentro del www tengo 2 carpetas que son los proyectos digamos aplicacion_1 y aplicacion_2 (Zend).

Tambien se debe editar el archivo hosts de windows para que accedan al virtual host y al localhost simple.??
  #6 (permalink)  
Antiguo 06/06/2012, 00:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: 404 Not Found sin VirtualHost

Y sin Virtual Host como quedaria, que tendria que hacer para tener mis dos app sin Virtual Host funcionando...
  #7 (permalink)  
Antiguo 06/06/2012, 10:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: 404 Not Found sin VirtualHost

Sin VirtualHost vas a sacrificar mucho, pero tendrías que pasar todo lo de la carpeta public a la raiz de aplicacion_2, ajustar las rutas adentro del index.php y dejar application/ y library/ también en la raiz de aplicacion_2.

La idea del VirtualHost es tener todo de forma más segura ya que el DocumentRoot es public por lo que en caso de que falle tu WebServer ningún archivo PHP queda expuesto más que el index.php que tiene la información básica para hacer correr tu aplicación.

En MaestrosDelWeb hay un tutorial sobre como configurar tus VirtualHosts, solo es cuestión que configures uno para tu aplicacion_2 (y la muevas fuera del document root) y crees un nuevo VirtualHost para localhost, con algo así te bastaría:

Código:
NameVirtualHost *:80

# Base dir
<Directory "C:/php_code">
	Order Deny,Allow
	Allow from all
</Directory>

# ZendApp
<VirtualHost *:80>
	DocumentRoot "C:\php_code\zendapp\public"
	ServerName zend.local
	<Directory "C:\php_code\zendapp\public">
		AllowOverride All
		Allow from all
		
		SetEnv APPLICATION_ENV development
	</Directory>
</VirtualHost>

# Localhost
<VirtualHost *:80>
   DocumentRoot "C:\php_code\httpdocs"
   ServerName localhost
   <Directory "C:\php_code\httpdocs">
		AllowOverride All
		Allow from all
		
		SetEnv APPLICATION_ENV development
	</Directory>
</VirtualHost>
y sí, tendrías que agregar las entradas a tu archivo hosts para que te reconozca zend.local.

Saludos.

Etiquetas: 404, found, framework, php, virtualhost
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 11:15.