estoy teniendo problemas con mi mvc y las url amigables, este es mi .htacces
Código:
y este codigo es como proceso las url para saber que cotrolador y accion se tiene que ejecutar<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*).php$ index.php?controlador=$1 [L] RewriteRule ^(.*)/(.*).php$ index.php?controlador=$1&accion=$2 [L] RewriteRule ^(.*)/(.*)/(.*).php$ index.php?controlador=$1&accion=$2&id=$3 [L] </IfModule>
Código PHP:
Ver original
$debug->info('entro con url amigables'); //obtengo el controlador $controller = $uri[0]; $action = $uri[1]; } } else{ $debug->info('entro sin url amigables'); //obtengo el controlador que se envia por $_GET $controller = $_GET['controlador']; //obtengo la accion que se envia por $_GET $action = $_GET['accion']; } }
y entonces si yo entro a misiti.com/seccion/mostrar.php me lleva correctamente al controlador y la acccion.
Pero si yo quiero entrar a la administración misitio.com/admin
me intenta redireccionar a index.php?controlador=admin&accion=index
A esto lo soluicone (nose si es la mejor opcion) asi:
en el router:
Código PHP:
Ver original
$debug->info('entro con url amigables'); $debug->info('entro con url amigables'); //obtengo el controlador $controller = $uri[0]; $action = $uri[1]; } } else{ $debug->info('entro sin url amigables'); //obtengo el controlador que se envia por $_GET $controller = $_GET['controlador']; //obtengo la accion que se envia por $_GET $action = $_GET['accion']; } } $debug->info($controller,'controlador enviado'); $debug->info($action,'accion enviada'); //seteo el controlador si esta vacio seteo el controlador por default $controller = 'indexController'; } else { $controller = $controller.'Controller'; } $debug->info($controller,'controlador'); $debug->info($action,'accion');
y en el directorio admin arme un .htaccess que tiene:
Código:
pero ahora tengo otro problema, cuando quiero entrar al admin sin estar logueado me muestra, el formulario de login que es el siguiente:<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteBase /rwa/admin </IfModule>
Código HTML:
pero dejo de mostrarme la imagen del captcha (el scr de la imagen es ../librerias/ si lo pongo entre comillas me sale la url del foro) y en el firebug me muestra que el server[query_string], el controlador y la accion a buscar son:Ver original
<div id="admin_wrapper"> <?php if($mensaje['mensaje']!=''){?> <?php } else{?> <?php } ?> <form action="index.php?controlador=index&accion=login" method="post"> <input name="username" type="text" class="input large" value="username" /> </p> <input name="password" type="password" class="input large" value="password" /> </p> </p> </form> </div>
Cita:
la verdad que ya no entiendo que pasa..... si alguien me puede guiar un poco.... desde ya muchas gracias controlador: libreriasController
accion: index
Query String: controlador=librerias/index
accion: index
Query String: controlador=librerias/index