Cita:
Iniciado por lauser Prueba con esta sintaxis.
Código Apache:
Ver originalRewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Hola! Muchísimas gracias por responder, con un pequeño cambio en mi script esto me funcionó de maravilla :) Lo explico para el que tenga ganas de leer y pueda llegar a servirle.
Mi index.php es algo así:
Código PHP:
Ver original$parametros = secureParamToSql($_SERVER['PATH_INFO']);
$parametros = explode('/',$parametros); $accion = strlen($parametros[0]) > 0 ?
$parametros[0] : "home"; switch($accion) {
case "home":
$inc = "home.php";
$titulo_pag = "Inicio";
break;
case "servicios":
$inc = "servicios.php";
$titulo_pag = "Servicios";
break;
default:
$inc = "home.php";
$titulo_pag = "Home";
}
include('header.php');
include($inc);
include('footer.php');
Lo que hace es según el parámetro que se le pase en la barra de navegación, filtrar mediante un switch e incluir la página correcta, si el parámetro está vacío o no es correcto, incluye el home.
Para que el mod rewrite que me facilitó el amigo @lauser funcione, tuve que cambiar la primer linea por:
Código PHP:
Ver original$parametros = secureParamToSql($_SERVER['REQUEST_URI']);
Esto es porque el script tomaba lo que estaba después del index.php (esta es la función del PATH_INFO), con REQUEST_URI toma la página a la que se accede después de la primera "/", ej: dominio.com/index.php.
Al pasarle entonces dominio.com/servicios, envía el parámetro "servicios" al switch y funciona correctamente
Gracias por la ayuda! Espero esto pueda ser útil para alguien en algún momento. Marco como solucionado, saludos!