Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/01/2012, 00:09
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Web modular, diferentes carpetas

Creo que tu mejor forma de usar web modulares es usar mod_rewrite de apache....

Crea un .htaccess en tu host y agrega el siguiente código
Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} -s [OR]
  3. RewriteCond %{REQUEST_FILENAME} -l [OR]
  4. RewriteCond %{REQUEST_FILENAME} -d
  5. RewriteRule ^.*$ - [NC,L]
  6. RewriteRule ^.*$ index.php [NC,L]

y en tu motor para manejar los modulos
Código PHP:
Ver original
  1. <?php
  2.  
  3. $url = $_SERVER['REQUEST_URI'];
  4. $pages = explode('?',$url);
  5. $pages = $pages[0];
  6.  
  7. if ($pages != '/') {
  8.     $files = explode('/',$pages);
  9. }else {
  10.     $files = array('index');
  11. }
  12.  
  13. $loadFile = 'pages';
  14.  
  15. foreach($files as $file) {
  16.     $loadFile .= '/'.$file;
  17. }
  18.  
  19. $loadFile .= '.php';
  20.  
  21. if (file_exists($loadFile)) {
  22.     include($loadFile);
  23. }else {
  24.      echo '<p>¡La sección no existe! Por favor <a href="' . $_SERVER['PHP_SELF'] . '?sec=homepage">vuelva a la página principal.</p>';
  25. }

Ahora, como funciona esto, es muy sencillo, con el archivo .htaccess todas las peticiones que se hagan al servidor se enviaran a index.php, el cual será el encargado de procesar el url desde donde se a accedido a la página y de hay a cargar los archivos correspondientes; las url se manejarían de la siguiente forma

http://misitio.com/carpeta1/archivo2

Código:
raiz
|->index.php
|->carpeta1
|    |->archivo2
Actualización: Arregle varias "incongruencias" en el código original >.<
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 28/01/2012 a las 00:16