2011-10-24 20 views
16

Ho un sito Web su un server. La homepage è esempio.com/index.php.Perché index.html ha la priorità su index.php?

OK, ho caricato un file index.html denominato sul server (la directory principale) e quando ho digitato il dominio del mio sito nella barra degli indirizzi del browser, sono rimasto sorpreso, perché la pagina index.html è stata caricata.

(example.com-> example.com/index.html) Quindi non quello che volevo.

La mia domanda: Perché è successo? Perché index.html ha vantaggio su index.php?

+4

Perché è il modo in cui è configurato il server. Puoi fare in modo che determinati file abbiano la priorità sugli altri. Se hai bisogno di aiuto per configurare il tuo server, controlla invece l'errore del server. Pubblica la tua configurazione. Stai usando Apache, IIS? che cosa? – Matt

+0

Sto usando Apache ... – Akos

risposta

34

Dipende molto dal server che si sta utilizzando. Questa è una questione di configurazione. Non è che ci sia alcun vantaggio dall'utilizzo di html vs php filetype.

Si potrebbe dire che la variazione .html ha la precedenza in quanto è il formato Web più semplice.

Se si utilizza Apache, basta controllare la configurazione di default .htaccess:

DirectoryIndex index.html index.shtml index.php index.htm default.html Default.htm default.html Default.html default.shtml Default.shtml page1.html index.pl index.cgi index.php3 index.phtml home.htm home.html home.shtml index.wml 

È possibile modificare questo e renderla adatta alle tue esigenze.

+0

OK grazie per la risposta ... Questo è legato al file .htaccess? – Akos

+1

@kuroir non penso che intendesse un vantaggio del genere, penso che lo intendesse in un modo che ha una certa priorità. La tua risposta funziona comunque. – Matt

+1

Sì, puoi definirlo dal tuo file '.htaccess'. Guarda la risposta aggiornata. – MarioRicalde

0

Beh, dipende bene dal provider di hosting. Sì Il provider di hosting del 90% dà la priorità a index.html anziché index.php o qualsiasi altra estensione.

10

@kuroir è giusto, che dipende dalla configurazione del server web, in Apache è il DirectoryIndex:

DirectoryIndex index.html index.php index.cgi 

che darà la priorità a .html file su .php file, e la priorità a .php file oltre .cgi file.

0

Il problema più grande, come per tutti i tipi di sviluppo, è la manutenzione. Se decidi di cambiare tecnologia esponendo l'estensione del file ti stai preparando per un sacco di lavoro - per non parlare degli aspetti di sicurezza della trasmissione di tua scelta. La migliore situazione è evitare di esporre le estensioni usando la riscrittura dell'URL.

2

So che questo è vecchio ed è stato accettato, ma voglio aggiungere a questo nel caso in cui qualcun altro ha questo problema.

Sono venuto qui quando cercavo una soluzione allo stesso problema. L'inserimento di Wordpress "index.php" nell'URL è stato reindirizzato su "index.html". Non ha avuto niente a che fare con il .htaccess. Finalmente ho trovato la soluzione nel loro forum. Wordpress ha modificato il programma un paio di anni fa per eliminare "index.php" dagli URL. Quindi, naturalmente, va al tuo valore predefinito (di solito index.html).

Per farlo funzionare come previsto, è necessario annullare la modifica qui: changeset 9203. Vedi Forum topic

Problemi correlati