Para que los proyectos MVC te funcionen en laragon/apache, requieres de unos archivos de configuración adicionales conocidos como htaccess Necesitas crear 2 archivos, ambos llamados:
.htaccess
Es importante que el nombre sea tal cual con todo y el punto. Uno en la raíz del proyecto con el que redireccionaras hacia /public y otro mas dentro de /public con que el harás funcionar todas las rutas declaradas en nuestro index.php
.htaccess para la raíz
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^$ public/index.php [L]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
.htaccess para la carpeta public
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
Esto también aplica para la configuración en Apache visto en la sección 17 Ambiente de Desarrollo Windows Pero para que apache funcione con los .htaccess es necesario editar el archivo httpd.conf que se encuentra en C:\apache\conf Dentro de este archivo hacer una busqueda por "/htdocs" (sin comillas) Esto te llevara a la línea 251 del archivo original.
DocumentRoot "${SRVROOT}/htdocs"
un poco mas abajo encontraras la siguiente línea de texto:
AllowOverride none
Hay que cambiar el "none" por "All" de esta forma:
AllowOverride All
En nuevas versiones de Apache tambien es necesario cargar el modulo rewrite, por lo que es necesario descomentar la siguiente linea eliminando el # del comienzo
#LoadModule rewrite_module modules/mod_rewrite.so
Guardar cambios y reiniciar el servicio de apache, con ello ya debería funcionar cualquier proyecto MVC con el framework del profesor Juan De la Torre también en apache
Estoy arrancando el servidor desde apache, hice los cambios pero al ir a la ruta me sale: 500 Internal Server Error