Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2012, 14:43
Avatar de McBlink
McBlink
 
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Rutas relativas y estructura de directorios

Hola compañeros!
Tengo un problema que estoy cerca de resolver pero todavía no logro dar en el palo.. Estoy haciendo un panel de control para que mis clientes administren el sitio web que diseño yo mismo.

La estructura del panel de control sería la siguiente:

Root

- images
- css
- js
- modules
- - users
- - categories
- - etc..
- .htaccess
- index.php
- config.php

La idea que tengo en mente y no logro concretar, es poner todo en relacion relativa a la raiz del panel de control, de éste modo, tengo flexibilad y lo puede "instalar" en cualquier nivel de directorios del sitio, al igual que hace Wordpress con sus blogs, que con solo setear la url del blog, éste realiza todo en base a esa url.


Para ésto, en mi archivo de configuración seteo entre otras cosas lo siguiente:

Código PHP:
// Al igual que lo hace WP :) ??
$site_url $_SERVER['SERVER_NAME'];
define ('ABSPATH''http://'.$site_url.'/cpanel'); 
Ahora bien, logre incluir sin problemas los css, js, de la siguiente forma:

Código HTML:
<script  type="text/javascript" src="<?= ABSPATH ?>/js/jquery/jquery.1.4.2.min.js"></script>
<link rel="stylesheet" href="<?= ABSPATH ?>/css/screen.css" type="text/css" media="screen" title="no title" charset="utf-8" /> 
Y cambiando la ruta del cpanel, como por ejemplo:
Código PHP:
// Al igual que lo hace WP :) ??
define ('ABSPATH''http://'.$site_url.'/otroDirectorio/panel'); 
Funcionaria sin problemas.

Mi problema está con los enlaces "<a>" y con las imagenes. Probe utilizar la etiqueta BASE:

Código HTML:
<base href="<?= ABSPATH ?>" /> 
Pero no consigo que funcione..

Aclaro que tengo el siguiente archivo .htaccess:

Código:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]
Lo utilizo pasandole un modulo y una página que necesito cargar, por ejemplo:

pagina.com/cpanel/users/new

y en el index.php, proceso la url y obtengo:

modulo: users
pagina: new.php

y realizo el include..


Bueno, espero no haber hecho demasiado lio, intente explicarme de la manera mas simple y concreta posible, cualquier ayuda me ayudaria mucho, no lo puedo resolver hace bastate tiempo ya!!


Saludos y gracias!