En una aplicación web desarrollada con el framework Laravel (PHP) el ruteo (routing) no funcionaba, enviaba a una página inexistente. En este caso el problema era una configuración de Apache 2 donde estaba publicada dicha aplicación y no de la aplicación en si.
La solución fue la siguiente:
Se cambió la directiva AllowOverride del valor None a All dentro de la directiva Directory que contiene la trayecto de directorios donde se encuentra publicada la aplicación, dentro del archivo de configuración de Apache 2 (httpd.conf). En nuestro caso la aplicación se encontraba dentro del directorio raíz.
<Directory "/opt/www/apache2/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All <--- CAMBIAR VALOR None POR All ....
No olviden reiniciar el servicio de Apache 2 para que refleje los cambios.
Espero y les sirva.
¡Hasta la próxima!