Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/07/2012, 17:12
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Archivo PHP con el mismo nombre que un directorio

A ver.

Código Apache:
Ver original
  1. Options +FollowSymLinks -Indexes
  2. RewriteEngine on
  3. RewriteRule ^descarga/(.*)$ /index2.php?sub=$1 [L]
para simplificar, me ahorré lo del base y asumo que todo parte desde la raíz no de la carpeta "ejemplo", y puse index2.php para no añterar mi propio index en las pruebas. Como se observa, no usé "descargas" como prefijo, sino "descarga", lo podés invertir si querés

nuestro index2.php
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>titulo php</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7. <body>
  8. <p>
  9. <a href="/descarga/fuentes">fuentes</a> |
  10. <a href="/descarga/utilidades">utilidades</a> |
  11. <a href="/descarga/mp3">mp3</a>
  12. </p>
  13. <?php
  14. if(isset($_GET['sub'])){
  15. if(file_exists($_SERVER['DOCUMENT_ROOT'] . '/descargas/' .  $_GET['sub'] . '.php')){
  16. include_once('descargas/' . $_GET['sub'] . '.php');
  17. }else{
  18. echo "no existe";
  19. }
  20.  
  21. }else{
  22. echo "no existee";
  23. }
  24. ?>
  25. </body>
  26. </html>

los mensajes de no existe (mp3 en el ejemplo, pensá que alguien quiera manipular la url desde la barra de direcciones) se personalizan ó incluso que haga include a otro archivo x defecto. Es decir tus links se construyen con
<a href="/descarga/fuentes">fuentes</a>
no con descargas.
como descargas, según la estructura que mostraste es comun a todas las subs, no hace falta pasarla en la query como parámetro

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.