2009-06-25 4 views
5

Ho una installazione di cakephp nella radice del mio dominio. Ora risulta che ho bisogno di mettere un'altra app lì che risiederà in una sottodirectory. Come disabilito il reindirizzamento del controller/modello in torta solo per questa directory?Come disabilitare il routing di riscrittura di CakePHP per una singola cartella in modo che possa essere utilizzato come percorso per una seconda applicazione?

Il .htaccess corrente nella cartella principale si presenta così:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

Ho provato modificando in questo modo, ma senza alcun risultato:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^bildbank$ /bildbank/ [L] 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

Mi rendo conto che questo è un po 'un trucco, ma non c'è modo che io possa ottenere la seconda app per giocare bene con la torta.

+1

Hai provato a mettere la seconda applicazione per app/webroot/bildbank? – dhofstet

risposta

4

La seguente regola riscrive www.example.com e www.example.com/ a www.example.com/app/webroot/

RewriteRule ^$ app/webroot/ [L] 

Questa regola riscrive www.example.com/* a www .example.com/app/webroot/*

RewriteRule (.*) app/webroot/$1 [L] 

vorrei buttare via la regola e aggiornare la regex jolly nella ultima regola, (.*), in modo che corrisponde a qualsiasi stringa che non inizia con bildbank. Qualcosa di simile potrebbe fare il trucco:

RewriteRule ((?!bildbank).*) app/webroot/$1 [L] 

Questo converte le seguenti stringhe:

cake 
cake.htm 
cake/test 
bilder 
bilder.htm 
bilder/test 
bildbank 
bildbank.htm 
bildbank/test 

.. in:

app/webroot/cake 
app/webroot/cake.htm 
app/webroot/cake/test 
app/webroot/bilder 
app/webroot/bilder.htm 
app/webroot/bilder/test 
bildbank 
bildbank.htm 
bildbank/test 

.. quindi, escluso il bildbank sottodirectory.

+0

Ha funzionato come un fascino. Grazie! – grapefrukt

12

risposta di Deizel non ha funzionato per me, ma ponendo la seguente RewriteRule al di sopra delle due regole CakePHP ha fatto:

RewriteRule ^bildbank - [L] 
+0

La risposta di Deizel non ha funzionato neanche per me, ma così è stato. Utilizzo di Ubuntu 10.04 LTS. – ASalazar

+0

Lavorando nel mio caso. +1 – Manwal

+0

in esecuzione ...! scrivere questo codice immediatamente dopo RewriteEngine su –

Problemi correlati