Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2010, 09:23
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
mode rewrite + parametros para acciones MVC y rutas relativas

Estoy usando url amigables, y ruteando segun el codigo que les muestro. Pero tengo problema con el paso de param1 y param2. En cuanto entro a una url que ejectuta una accion con parametros, las rutas relativas de mi script cambian:

Código PHP:
Ver original
  1. <ifmodule mod_rewrite.c>
  2. RewriteEngine On
  3.  
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
  7. </ifmodule>

Código PHP:
Ver original
  1. $urlVars = explode('/', preg_replace('/\/$/', "", $_GET['route']));
  2.            
  3.     $controlador  = (isset($urlVars[0])) ? $urlVars[0] : null;
  4.     $accion       = (isset($urlVars[1])) ? $urlVars[1] : null;
  5.     $param1        = (isset($urlVars[2])) ? $urlVars[2] : null;
  6.         $param2        = (isset($urlVars[3])) ? $urlVars[2] : null;

Tengo por ejemplo esta funcion:

Código PHP:
Ver original
  1. function ver($id_album, $id_usuario){

Lo que hace es incluir ciertas librerias js, y luego poner una pelicula flash. La cuestion está en que dentro de uploader.js yo necesito definir una ruta relativa, y esa ruta relativa esta siendo afectada por el uso de mod rewrite de apache. Es decir, cuando mi funcion no tiene parametros, la ruta relativa funciona. Pero cuando los tiene, la ruta relativa necesita "../../".

Ya intente cambiar la extension de mi .js a .php , y usar una ruta absoluta definida por php. Pero me estoy liando, porque el archivo "js" de extension php no recibe mis constantes.

En fin, como puedo setear el mod rewrite para que los parametros no me afecten mis rutas relativas?

O como puedo pasar una variable a mi archivo a travez de <link>? Intento esto y no funciona tampoco:
Código PHP:
Ver original
  1. <script type="text/javascript" src="<?php echo JS; ?>uploader.php?ruta=<?php echo HTTP_APP; ?>"></script>

Código PHP:
Ver original
  1. 'uploader': '<?php echo $_GET['ruta']; ?>uploader/uploadify.swf',

Última edición por mayid; 24/10/2010 a las 09:37