Hola estoy tratando de implementar las url amigables, ya active el mod_rewrite del servidor pero simplemente me da error 500
el htaccess me quedo asi:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /?c=$1&a=$2&id=$3 [L]
mi modelo de front controller lo tengo asi:
<?php
require_once 'controller/alumno.controller.php';
// Ruta del proyecto, cambiala por la ruta que vas a usar
define( 'RUTA_HTTP', 'http://' . $_SERVER['HTTP_HOST'] . '' );
// Todo esta lógica hara el papel de un FrontController
if(!isset($_REQUEST['c'])){
$controller = new AlumnoController();
$controller->Index();
} else {
// Obtenemos el controlador que queremos cargar
$controller = $_REQUEST['c'] . 'Controller';
$accion = isset($_REQUEST['a']) ? $_REQUEST['a'] : 'Index';
// Instanciamos el controlador
$controller = new $controller();
// Llama la accion
call_user_func( array( $controller, $accion ) );
}
un ejemplo de como se llama a una url es asi:
http://www.misitio.com/?c=Alumno&a=Crud&id=3
esa url si funciona pero al escribir las reglas en el modo rewrite y tratar de escribir algo asi me envio error 500
http://www.misitio.com/Alumno/Crud/3.html
Segui haciendo pruebas y ya me reconoce una expresion, pero necesito 3 expresiones, pero solo puedo tener habilitada 1 a la vez porque si tengo habilitada las 3 solo funciona la primera y como que tiene precedencia sobre las demas
#RewriteRule ^([A-Za-z]*)/([A-Za-z]*)/([0-9]*)$ /?c=$1&a=$2&id=$3 [L]
#RewriteRule ^([A-Za-z]*)/([a-zA-Z]*)$ /?c=$1&a=$2
RewriteRule ^([A-Za-z]*)$ ?c=$1