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
Buenas tardes,
Hice deploy en Heroku, al utilizar este método la página me permitía usar la ruta "public/index.php" (incluso teniendo configurado el Router para redirigir).
Bueno, la configuración que he usado es la siguiente para solucionar el problema;
Procfile en la raiz;
web: vendor/bin/heroku-php-apache2 public/
.htaccess en /public
Pero tengo un problema que aún no consigo resolverlo de ningún modo, necesito forzar la redirección de HTTP a HTTPS, lo he tratado varias veces pero no doy con la solución. ¿Hay alguna manera de implementar esto?