Quiero ocultar cualquier solicitud en el siguiente archivo php en www.example.com/.

    www.example.com/index.php  to www.example.com/     (hide index.php)
    www.example.com/content.php to www.example.com/    (hide content.php)
    www.example.com/welcome.php to www.example.com/    (hide welcome.php)

Nota: solo quiero ocultar el archivo sin redirigirlos. Por ejemplo, oculte la parte en index.php o content.php sin redirigirlos a www.example.com/.

Lo intenté

RewriteEngine On

RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php

También intenté

DirectoryIndex index.php
DirectoryIndex content.php
DirectoryIndex welcome.php

Estos códigos no parecen funcionar. ¿Alguna idea? Lo siento, soy muy nuevo en esto.

1
Nick 23 may. 2012 a las 16:42

1 respuesta

La mejor respuesta

Si recuerdo correctamente, algo como esto debería funcionar correctamente.

RewriteRule ^ / index.php $ http://www.example.com/ [R, NC, L]
RewriteRule ^ / content.php $ http://www.example.com/ [R, NC, L]
RewriteRule ^ / welcome.php $ http://www.example.com/ [R, NC, L]

Saludos cordiales,
Bo

3
Bo. 23 may. 2012 a las 17:50
Gracias, esto funciona. Sin embargo, ¿hay alguna forma de ocultar index.php o content.php sin redirigir al usuario a otra URL?
 – 
Nick
23 may. 2012 a las 17:14
2
No, no con mod_rewrite. Tiene dos propósitos principales: 1) servir una página diferente sin cambiar la URL (a menudo se usa para "impresiones bonitas" de las URL) o 2) redirigir al usuario a una URL completamente diferente. Si realmente necesita esa funcionalidad (aunque me preguntaría por qué), entonces podría tener algo de suerte con JavaScript en el lado del cliente, p. stackoverflow.com/a/1465/283242
 – 
IBBoard
23 may. 2012 a las 17:24
Muchas gracias Bo. Me ayudas mucho. La razón es que estoy usando la aplicación de Facebook y no quiero que el usuario vea dónde se encuentran mis archivos.
 – 
Nick
23 may. 2012 a las 17:37