2010-03-05 10 views

risposta

129

Apache deve essere configurato per riconoscere index.php come file di indice.

Il modo più semplice per raggiungere questo obiettivo ..

  1. Creare un file .htaccess nella root del server web.

  2. Aggiungere la riga ...

DirectoryIndex index.php

Qui è una risorsa per quanto riguarda la questione ...
http://www.twsc.biz/twsc_hosting_htaccess.php

E dit: sto assumendo che apache sia configurato per consentire i file .htaccess. Se non lo è, si dovrà modificare l'impostazione nel file di configurazione di Apache (httpd.conf)

+4

Probabilmente dovrebbe essere nel file php.conf caricato da apache. – staticsan

+0

Penso che tu intenda php.ini. Indipendentemente da ciò, il suo apache non riconosce index.php come un file indice di directory. Se la sua gestione di file php è un altro problema di configurazione di Apache. –

+0

non dimenticare di riavviare apache !! come ho fatto io! :/ –

2

Provare a creare un file .htaccess con il seguente

DirectoryIndex index.php 

Edit: In realtà, non è c'è un pacchetto 'php-apache' o qualcosa che dovresti installare con entrambi?

34

A occhio e croce direi che l'indice di directory è impostata a index.html, o qualche variante, provare:

DirectoryIndex index.html index.php 

Questo darà ancora la priorità index.html oltre index.php (utile se si hanno bisogno di vomitare una pagina di manutenzione)

+0

Il mio appare come questo ma sfortunatamente scarica l'index.php invece di eseguirlo. – Webnet

84

Mentre l'aggiunta di 'DirectoryIndex index.php' in un file .htaccess può funzionare,

NOTA:

In generale, non si dovrebbe mai usare i file

.htaccess Questo è citato da http://httpd.apache.org/docs/1.3/howto/htaccess.html
Anche se questo fa riferimento a una vecchia versione di Apache, credo che il principio si applica ancora.

L'aggiunta dei seguenti al vostro httpd.conf (se si ha accesso ad esso) è considerata una migliore forma, provoca meno sovraccarico del server e ha lo stesso effetto esattamente:

<Directory /myapp> 
DirectoryIndex index.php 
</Directory> 
+2

grazie, questo è quello che stavo cercando – Mala

+2

che va tutto bene e dandy se si ha accesso a quel file –

+0

Questo ha fatto il lavoro per me, evviva. –

1

Dopo aver letto tutto questo e cercare di risolvere il problema, ho ottenuto una soluzione semplice su Ubuntu forum (https://help.ubuntu.com/community/ApacheMySQLPHP). Il problema sta nel modulo libapache2-mod-php5. Ecco perché il browser scarica il file index.php invece di mostrare la pagina web. Fare quanto segue. Se sudo a2enmod restituisce il modulo php5 non esiste allora il problema è con libapache2-mod-php5. Eliminare il modulo con il comando sudo apt-get --purge rimuovere libapache2-mod-php5 Quindi installarlo di nuovo sudo apt-get install libapache2-mod-php5

1

Per informazioni: in alcuni conf Apache2 è necessario aggiungere il comando DirectoryIndex in mods_enabled/dir.conf (non si trova in apache2.conf)

2

Ho avuto lo stesso problema con un sito sul nostro sito di hosting diretto. Ho aggiunto

DirectoryIndex index.php 

come estensione httd personalizzato (che aggiunge il codice in un file di siti httpd) e il sito poi fatto funzionare l'index.php per impostazione predefinita.

7

Questo potrebbe essere utile a qualcuno. Ecco il frammento dal httpd.conf (versione di Apache 2.2 finestre)

# DirectoryIndex: sets the file that Apache will serve if a directory 
# is requested. 
# 
<IfModule dir_module> 
    DirectoryIndex index.html 
    DirectoryIndex index.php 
</IfModule> 

ora questo cercherà file index.html, se non trovato cercherà index.php.

-8

Prima di provare uno qualsiasi dei metodi di cui sopra,

Si prega di provare questo:

  • selezionare il file index.php
  • tasto destro del mouse di nuovo
  • rinomina a index.php

Carica la pagina e funziona correttamente ora.

questo ha funzionato per me quando ho incontrato questo errore ...

+1

Stai dicendo che rinominare un file con lo stesso nome risolve il problema? – Cristik

+0

Questo è quando l'errore è un refuso nell'ortografia del file php come nel caso in cui uno spazio esiste tra alcune lettere, e il tuo index.php è scritto come indice .php o qualcosa del genere. Questo una volta mi ha fatto impazzire per tutto il giorno. @Cristik Grazie. – gondwe

0

ho avuto un sintomo simile. Nel mio caso, però, la mia idiozia riguardava involontariamente anche un file index.html vuoto nella cartella radice web. Apache stava servendo questo piuttosto che index.php quando non l'ho fatto esplicita richiesta index.php, dal momento che DirectoryIndex è stato configurato come segue in mods-available/dir.conf:

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm 

Cioè, 'index.html' compare davanti a 'indice. php 'nell'elenco delle priorità. La rimozione del file index.html dalla radice Web ha risolto naturalmente il problema. D'oh!

Problemi correlati