Ho installato e configurato CakePhp su un account altervista.
In particolare di seguito trovate gli .htaccess modificati per girare sotto altervista. Dopo aver seguito le istruzioni standard di cakephp bisogna:
1) abilitare il mod_rewrite dal pannello di controllo --> tools. Vi costa 400 AC
2) modificare gli .htaccess
--- .htaccess alla root del sito (stesso livello di directory app/ e cake/)
Codice:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/app/webroot
RewriteRule ^(.*)$ /app/webroot/$1
</IfModule>
--- .htaccess dentro app/webroot/
Codice:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
--- .htaccess dentro app/ (Io l'ho rimosso perchè secondo me non serve, infatti il mio sito va, comunque aggiunteci un "RewriteBase /" che male non dovrebbe fare
Codice:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
NOTE
- non ho provato a utilizzare model, in quanto non ho un db attivato su questo account, ma non ci dovrebbero essere problemi (magari se qualche volontario vuole fare una prova estendendo questo post...)
- il build-in component Email di cakePhp 1.2 non funziona, ho dovuto utilizzare il metodo mail() offerto da php.
- è necessario impostare "Configure::write('debug', 0);" nel file di configurazione app/config/core.php altrimenti vedrete in continuazione i warning di sicurezza dei metodi bug_trace() e set_ini() (alternativamente commentate tali istruzioni all'interno del codice CakePhp)
DISCLAIMER
gli .htaccess sono nati a forza di martellate in quanto faccio parte della Banda Smanetti, sicuramente alcune istruzioni non servono e si potevano fare in modo piu' figo...ma questi funzionano.
Nella speranza che la cosa vi sia lieta, vi saluto
Viva CakePhp e viva l'MVC