2009-08-17 159 views
6

Cuando escribo la dirección de mi sitio en un navegador (mysite.com), se redirecciona a mysite.com/index.php. ¿Por qué no indexar.html? Porque lo cambié en el archivo conf en Apache 2.2.Ocultar index.php (o index.html) de una URL

  • Ahora me gustaría ocultar la última parte "index.php". Cómo puedo hacer eso ?
  • ¿Sería diferente que fuera index.html que index.php?

¿No sería feo si al buscar en Google, terminara en www.google.com/index.html? ... es solo por estética pero dios es importante para ciertas personas.

+0

me re-etiquetados a la pregunta, la eliminación de 'esconder' y su sustitución con 'mod-rewrite', ya que creo que es probablemente más relevantes. Estoy feliz de que se demuestre que estoy equivocado, aunque =) –

+0

¿Qué quieres decir con redirigir? ¿Es una redirección externa (la URL cambia) o una redirección interna (la solicitud de '/' devuelve lo mismo que '/ index.php')? – Gumbo

Respuesta

10

No sé por qué necesita usar mod_rewrite. En mi sitio no hice nada para ocultar index.php, simplemente no lo señalo en ninguna parte del código, así que en lugar de www.example.com/index.php?task=forum escribo www.example.com/?task = foro Funciona en la configuración de Apache estándar.

+1

De acuerdo. No necesita MOD_REWRITE para algo tan simple. –

+0

Lo intentaré y vuelvo a ti. –

+0

Hmmm Estoy un poco confundido ... Remito el index.php más tarde en otro código, pero no debería importar. Cuando escribo mysite.com, me hacen referencia a mi máquina servidor que ejecuta apache. Apache luego muestra el index.html.Pero nunca lo menciono específicamente. –

1

Puede hacerlo fácilmente con la asignación de URL en el archivo http.conf o archivos .htaccess individuales en los directorios de la aplicación. Encienda mod rewrite. Here es un tutorial simple.

+0

Me gusta su respuesta, pero creo que Pablo Santa Cruz y Thinker tienen razón: no necesito profundizar en eso para resolver mi problema específico. No necesitas un cañón para matar una mosca. –

+0

De acuerdo, si solo quiere manejar index.html, entonces eso es correcto. Si tiene más de una página de "control", necesita mod_rewrite. –

3

Si está redirigiendo, (al enviar una nueva Ubicación en el encabezado HTTP, por ejemplo), entonces no hay nada que pueda hacer, sino cambiar el código que está haciendo la redirección.

Por otro lado, si su servidor web es Apache, hay una directiva de configuración que podría ayudar:

DirectoryIndex

Cuando se establece que, para: index.php o índice. html, luego su servidor web redirigirá automáticamente a esos archivos internos sin cambiar la URL cuando acceda al directorio en su servidor donde está configurada la directiva DirectoryIndex.

Supongo que obtendrá mejores respuestas si publica esto en SERVERFAULT.

Buena suerte.

+0

Pude haber estado claro, pero la parte que decía "Lo cambié en el archivo conf en Apache" significaba exactamente eso. Está configurado en index.php. –

2

Esto parecía funcionar en mi entorno (NO mostraría index.php):

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