Acabo de comenzar un curso de implementación del patrón MVC usando PHP y creo que estoy experimentando un error con respecto al motor de URL amigable. El sitio que estoy creando tiene la siguiente sintaxis de URL: http://[sitio]/[controlador]/[método]/[parámetros] .
Hasta ahora funciona de una manera muy simple: accedo a un controlador y se imprime en la pantalla a qué controlador se está accediendo (impreso por un método de la clase del controlador). El problema es que cuando accedo a la URL http://cursophp/cliente (un controlador real) funciona y cuando pruebo un controlador inexistente WAMP muestra una pantalla de error que informa que no se pudo encontrar la página; pero , cuando trato de acceder a http://cursophp/produto (también un controlador real), ¡se muestra un error 404 de Apache! Y también probé con otras palabras como: produto1, produto2, product, product1 (prefijo "prod") y aparece el mismo error 404.
Usar Composer o incluir directamente el archivo del controlador con "requerir" da como resultado el mismo problema.
¿Es un error conocido o estoy cometiendo un error?
contenido de acceso:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !f RewriteCond %{REQUEST_FILENAME} !d RewriteRule ^(.*)$ index.php/$1 [L]Solo agregando más detalles:
Cuando pruebo "pro" como nombre del controlador: 
Cuando intento "prod" (o cualquier palabra con el prefijo "prod"): 
Cuando intento "aaaa" (o cualquier palabra, de cualquier longitud, que no corresponda al nombre de un controlador): 
El problema probablemente esté en función de verificar la ruta. Intente depurar en qué línea está comenzando a mostrar el error. Sin embargo, es imposible sugerirle una forma específica de resolver este problema sin proporcionar más detalles.
Este script PHP es horrible, porque no maneja correctamente los controladores desconocidos.
En su lugar, debe responder con HTTP404 , cuando no se puede ubicar el archivo que se va a cargar.
En términos generales, debe corregir eso en el archivo Core.php .