One Planet Tech

 

RewriteBase, .htaccess y cakephp
Si utilizas cakephp en un servidor virtual hospedado en una empresa externa, probablemente encuentres el siguiente problema:
La instalación por defecto de cakephp no funciona
Si es tu caso, intenta lo siguiente:¡ Lee el manual de cakephp ! Allí también lo explican, pero como has llegado hasta aquí entendemos que ese punto se te habrá pasado de largo.Localiza los ficheros .htaccess mediante tu cliente FTP, o mediante tu accesso ssh al servidor del hosting. Para ello será necesario que contactes con tu proveedor de servicio, aunque probablemente ya lo sepas (si no es que no has subido tú mismo la aplicación cakephp al servidor !!)Edita los siguientes ficheros .htaccess
tu_ruta/.htaccesstu_ruta/app/.htaccesstu_ruta/app/webroot/.htaccess
En cada uno de estos ficheros, al principio, debería aparecer el código
RewriteEngine OnRewriteBase tu_ruta/
Ojo, si tu servicio está instalado en la ruta raíz "/", debe aparecer
RewriteBase /
Tras esto, haz la siguiente prueba:Navega por http://tusitioweb/tu_ruta/Deberías ver la página de bienvenida de tu web, con los estilos y los enlaces correctamente colocados, de la forma
url/controlador/accion/parámetros
Por ejemplo, un enlace en tu página principal podría ser:
http://tusitioweb/tu_ruta/items/view/3
Si has instalado una aplicación cakephp por defecto para probar, deberías ver la página de bienvenida de cakephp que indica que la base de datos no está configurada, etc.En este caso prueba a provocar un error, por ejemplo
http://tusitioweb/tu_ruta/provocaerror
y te deberá aparecer una página web indicando que el controlador no existe, y con el diseño y el css correcto de cake.Si el diseño está roto, es que la redirección no está funcionando como debe.En caso de que aparezca un "ERROR 500" o un "ERROR 404" y sobre todo en este último caso, puede que existan otros problemas con la instalación de cakephp como pueden ser:
  • Tu servidor no usa mod_rewrite (esto es raro, habla con tu proveedor para descartar esto)
  • Tu servidor no permite usar ficheros .htaccess (otra vez, habla con tu proveedor)
  • Tus ficheros .htaccess no tienen los permisos correctos (chmod 665 por si acaso)
  • Los permisos de la carpeta de instalación del cakephp no son los correctos. Más concretamente, la carpeta tmp debe tener la estructura correcta y debe poderse escribir para que las sesiones y los logs funcionen (chmod 775 por si acaso)
  • El php.ini no define una carpeta correcta para usar como directorio temporal (consulta el fichero app/config/core.php para cambiar el modo en el que cakephp almacena las sesiones de usuario a "cake")
 

Estamos Contratando...

Tenemos una vacante en la empresa y estamos contratando personal.

Ver vacantes disponibles en One Planet Tech