cakePHP - error 404- página no encontrada, al implementar en una máquina diferente

Estoy tratando de implementar una aplicación cakephp en el sistema de mis compañeros y obtengo el error 404, para todas las solicitudes. Este no es un error 404 de cakephp, sino un error 404 de página no encontrada del servidor web normal. :(. Ambos usamos MAC OS 10.6. El mismo código funciona en mi máquina y en el sistema de producción. He seguido los pasos para implementar en su máquina. Estoy usando la instalación avanzada de cakephp, es decir, webroot contiene solo index.php , css, js, etc. La carpeta APP y la carpeta CAKE se encuentran en otro lugar.

  1. descomentó la línea "LoadModule php5_module ...." en /etc/apache2/httpd.conf
  2. Se cambió a AllowOverride All to the Directory - "Library / WebServer / Documents" en /etc/apache2/httpd.conf
  3. descomentar y establecer date.timezone en /etc/php.ini
  4. Copió el contenido de webroot en "Library / WebServer / Documents" y modificó index.php para adaptarlo a su máquina (configure 3 rutas relevantes a la carpeta CORE, APP y CAKE)
  5. se aseguró de que la conexión a la base de datos sea buena.
  6. Para fines de depuración, modificó core.php y configure Configure :: write ('debug', 3);

La página de inicio obtiene datos de una llamada AJAX. Cuando voy a http://localhost, se representan el contenido del encabezado y pie de página de layouts / default.ctp, pero la llamada ajax que es, por ejemplo, http://localhost/posts/showmyposts obtiene un error 404 (No encontrado). Si voy a otras URL como http://localhost/users/login, Obtengo el error 404 del servidor web normal.

Extraviado

La URL solicitada / usuarios / inicio de sesión / no se encontró en este servidor.

En mi registro de errores de apache, obtengo el error como

[Lunes 16 de mayo 16:19:48 2011] [error] [cliente :: 1] El archivo no existe: / Library / WebServer / Documents / users, referente: http://localhost/ ¿Mi instalación de cakephp es correcta?

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

5 Respuestas

Suena como un problema con mod_rewrite no funciona en esa máquina. ¿Qué sucede cuando intenta ejecutar una instalación predeterminada de Cake? ¿Carga el CSS y todo?

Hay un .htaccess archivo en el directorio de su aplicación (y en su directorio webroot)?

Tienes FollowSymLinks encendido en sus archivos de configuración de Apache?

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

Falta el archivo .htaccess en mi carpeta webroot. Muchas gracias ! Todo funciona muy bien ahora. - metalhawk

Yo tuve el mismo problema.

Lo resolví creando un .htaccess en la carpeta public_html, con el siguiente contenido:

<IfModule mod_rewrite.c>
        RewriteEngine On
        #Rewrite CakePHP
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !server-status
        RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

Esto funciona para mi.

Respondido 18 Oct 12, 04:10

Si las soluciones anteriores no tienen ningún efecto, asegúrese de que el módulo de reescritura de apache esté habilitado

En debian está deshabilitado por defecto

a2enmod rewrite
service apache2 restart

respondido 14 nov., 14:16

Tuve que modificar mi archivo httpd.conf (su ubicación varía en su instalación de Linux; la mía estaba en /etc/httpd/conf/httpd.conf) en Digital XNUMXk lugares para que esto funcione en CentOS.

Además de la <Directory /var/www> como se menciona en los documentos de CakePHP, si vas un poco más abajo, verás <Directory "/var/www/html"> que no permite la reescritura.

Cambiar AllowOverride None a AllowOverride All.

Asegúrese de restablecer apache usando sudo /sbin/service httpd restart.

contestado el 23 de mayo de 14 a las 02:05

¡Gracias hombre!. Solo su solución de todas las soluciones aquí funcionó para mí. - govind

En mi caso, me encontré con el hecho de que todas las solicitudes del controlador de publicaciones (/ posts / *) devolvían 404. Otras páginas del controlador funcionaban bien.

Resulta que fue porque tenía un archivo posts.sql flotando en la raíz de mi web. Tan pronto como moví el archivo, todo funcionó. Incluso con la extensión .sql, las reglas de reescritura de Cake hicieron que la solicitud se asignara a una carpeta de publicaciones inexistente.

Respondido el 26 de enero de 12 a las 23:01

Gracias por compartir su experiencia - metalhawk

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