2009-08-17 15 views
6

Quando digito l'indirizzo del mio sito in un browser (mysite.com), reindirizza a mysite.com/index.php. Perché non index.html? Perché l'ho cambiato nel file conf in Apache 2.2.Nascondi index.php (o index.html) di un URL

  • Ora mi piacerebbe nascondere l'ultima parte "index.php". Come lo faccio ?
  • Sarebbe diverso era index.html di index.php?

Non sarebbe brutto se cercando google, si finirebbe su www.google.com/index.html? ... è solo per estetica, ma dio è importante per certe persone.

+0

ho ri-tagged la questione, la rimozione di 'nascondere' e la sua sostituzione con 'mod-rewrite' come penso che probabilmente più rilevante. Sono felice di essere stato smentito, però =) –

+0

Cosa intendi con reindirizzamento? È un reindirizzamento esterno (l'URL cambia) o un reindirizzamento interno (la richiesta di '/' restituisce lo stesso di/index.php')? – Gumbo

risposta

10

Non so perché è necessario utilizzare mod_rewrite. Sul mio sito non ho fatto nulla per nascondere index.php, semplicemente non lo indico da nessuna parte nel codice, quindi invece di www.example.com/index.php?task=forum ho appena scritto www.example.com/?task = forum. Funziona su una configurazione standard di Apache.

+1

Accetto. Non hai bisogno di MOD_REWRITE per una cosa così semplice. –

+0

Ci proverò e tornerò da te. –

+0

Hmmm Sono un po 'confuso ... Mi riferisco a index.php più tardi in qualche altro codice, ma non dovrebbe importare. Quando scrivo mysite.com, mi riferisco alla mia macchina server che sta eseguendo Apache. Apache quindi visualizza index.html.Ma non ho mai fatto riferimento ad esso in modo specifico. –

1

È possibile farlo facilmente con la mappatura degli URL nel file http.conf o nei singoli file .htaccess nelle directory dell'applicazione. Attiva mod rewrite. Here è un semplice tutorial.

+0

Mi piace la tua risposta, ma penso che Pablo Santa Cruz e Pensatore abbiano ragione: non ho bisogno di approfondire il mio problema specifico. Non serve un cannone per uccidere una mosca. –

+0

D'accordo, se vuoi solo gestire index.html allora è corretto. Se hai più di una pagina di "controllo", hai bisogno di mod_rewrite. –

3

Se sta reindirizzando, (inviando una nuova posizione sull'intestazione HTTP, ad esempio), quindi non c'è niente che puoi fare, ma cambiare il codice che sta facendo il reindirizzamento.

D'altra parte, se il vostro server web è Apache, v'è una direttiva di configurazione che potrebbe aiutare:

DirectoryIndex

Quando si imposta che a: index.php o indice. html, quindi il server Web reindirizzerà automaticamente a tali file interni senza modificare l'URL quando si preme la directory sul server in cui è impostata la direttiva DirectoryIndex.

Immagino che otterrete risposte migliori se pubblichi questo su SERVERFAULT.

Buona fortuna.

+0

Forse non sono stato chiaro, ma la parte che diceva "Ho cambiato il file conf in Apache" significava esattamente questo. È impostato su index.php. –

2

Questo sembrava funzionare nel mio ambiente (non visualizzerebbe index.php):

 <form action="." method="POST"> 
     E-mail: <input type='password' size='50' name='email' /> 
     <input type='submit' value='Login' /> 
    </form> 
Problemi correlati