Domanda

Ho: nuova copia pulita di Kohana 2.3.4 (provato anche 2.4 RC1), un controller chiamato 'index' su un Debian con Apache 2.2.9.

Quando scrivo un indirizzo come http: // localhost / kohana / index / index mi aspetto un controller 'indice', azione 'indice' da eseguire. Funziona su Windows Localhost, funziona su hosting condiviso. Ma non sul mio server Debian.

Ho eseguito il debug e ho scoperto che $ _SERVER ['PATH_INFO'] non è corretto. Omette il primo "indice" nell'URI, quindi posso accedere a "indice / indice" andando su "indice / indice / indice". Quindi è quello che voglio correggere.

Qualcuno sa come risolvere questo problema?

È stato utile?

Soluzione 2

Si è rivelato essere mod_negotitaion. Dannazione mod riscrive il mio / index / index in /index.php/index, perché pensava che mi mancasse .php

Quindi, chiunque incontri questo problema, disabilita mod_negotiation e si diverte

Altri suggerimenti

Suppongo che si verifichi effettivamente nel tuo file .htaccess o nella configurazione di Apache, non nello specifico di Kohana. Prima di tutto, assicurati che il file example.htaccess fornito con Kohana sia rinominato in .htaccess e potrebbe essere necessario riavviare Apache.

Se stai usando .htaccess per nascondere la parte index.php del percorso, controlla per vedere qual è l'impostazione RewriteBase:

RewriteBase /kohana/

Se lo hai installato nella root del tuo server web (come in produzione o usando una porta separata per localhost), allora dovrebbe essere cambiato in:

RewriteBase /

Questo è il mio errore personale più comune nella creazione di nuovi siti e ambienti di sviluppo, tra l'altro. Questo vale anche per CodeIgniter e altri framework PHP correlati.

Il tuo Apache installa sul server Debian ha effettivamente mod_rewrite? Sarebbe bene confermarlo. Ecco un modo per fallo .

Un'ulteriore diagnosi per vedere se è colpa di Kohana o Apache include l'aggiunta di nuovo nella parte index.php del percorso. Nel tuo caso, prova http: //localhost/kohana/index.php/index . Infine, sono d'accordo con sarfraz sopra che nominare il tuo controller "indice" sta solo chiedendo guai. La mia convenzione è chiamarla " home " e per modificare di conseguenza il percorso predefinito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top