mercoledì 9 giugno 2010

.htaccess cambiare il dominio mantenendo la querystring

Per poter ridirigere correttamente tutte le richieste inviate ad un dominio example.com ad un example2.it è possibile modificare l'htaccess del primo dominio scrivendo una regola di redirect che includa la querystring in questo modo:

RewriteEngine on
RewriteRule .* http://www.sito.com%{REQUEST_URI}?%{QUERY_STRING} [R=301,NE]


Con questa semplice regola ogni url che punterà sul primo compresi i parametri sarà reindirizzata sul secondo dominio mantenendo la querystring

Accesso ad un modello in cascata in CakePhp

CakePhp si è ispirato molto a Ruby On Rails e se ne vedono alcuni tratti nella scrittura del codice del framework, purtroppo a Cake manca l'eleganza e la compattezza di Ruby.

Facendo un esempio è esattamente quello che succede con i prodotti Apple, cos'ha un pc di diverso da un Mac?
Nulla fanno le stesse cose, ma un Mac è decisamente più elegante, un iPhone è più cool e usabile di un Nokia e via dicendo.

Ad esempio immaginiamo questi tre modelli:
Modello1(campi vari, modello2_id) -----belongsTo----> Modello2(campi vari, modello3_id) ------belongsTo----->Modello3(campi_vari)

nel primo modello dovrei dichiarare la seguente relazione:
 
var $belongsTo = array(
'Model2',
'Model3' => array(
'foreignKey' => false,
'conditions' => array('Model2.model3_id = Model3.id')
)
);


che in effetti è molto più lungo del corrispettivo ruby:
 
belongsTo => :Model2


difatto la relazione con il Model3 sarebbe gestita dalla relazione specificata nel Model2, cosa non funzionante con CakePhp