dijous, 15 d’octubre del 2009

Estem a wordpress

Amb la incorporació d'un nou col·laborador, l'Arnau, ens hem canviat a wordpress:

Ens trobaràs en un nou blog de picatecles, on tractarem bàsicament temes sobre aplicacions web i CakePHP. Com aquí, vaja, però esperem que amb més freqüència ;)

divendres, 2 d’octubre del 2009

CakePHP sense mod_rewrite

És fàcil que a l'hora d'instal·lar un cake ens trobem amb servidors que no tenen activat el mòdul mod_rewrite i per tant les urls netes, del tipus "www.nomweb.com/controlador/accio" no funcionen.

La primera recomanació és demanar que ens l'activin, ja que fer servir aquest tipus d'URLs fa l'aplicació més elegant i és molt útil pels buscadors.

Si pel motiu que sigui no és possible que ens l'activin, no desesperem. Cake contempla aquesta possibilitat i té una alternativa, utilitzar les "pretty URLs". Canviant un parell de configuracions podrem fer que l'aplicació funcioni amb l'única diferència que les URLs seran del tipus "www.nomweb.com/index.php/controlador/accio".

El manual explica els passos a seguir:
  • A /app/config/core.php, descomentar la linia:
    Configure::write('App.baseUrl', env('SCRIPT_NAME'));
  • Esborrar els arxius .htaccess següents:
    • /.htaccess
    • /app/.htaccess
    • /app/webroot/.htaccess

Amb això hauriem de tenir el tema resolt.

No obstant, oer algún motiu encara pot ser que els enllaços que ens genera Cake no ens funcionin. En aquest cas és possible que ens faci falta afegir un interrogant després de "index.php".

Si així se'ns soluciona el problema és que el nostre servidor ens està dificultant la gestió de la variable "path_info" que és la que es fa servir per construir aquestes URLs.

N'hi ha prou amb modificar la línia que hem descomentat abans i deixar-la d'aquesta manera.
Configure::write('App.baseUrl', env('SCRIPT_NAME').'?');

Així CakePHP ens construirà tots els enllaços amb l'interrogant.