Excluir una ruta o una carpeta de las rutas de Laravel

Una de las comodidades de Laravel es que no tenemos que andar toqueando el fichero .htacces. Por desgracia, hay ocasiones en las que es conveniente excluir determinadas rutas. Por ejemplo podríamos tener un foro en phpBB en una carpeta llamada 'foros'.

¿Qué hacer en este caso?

Si trabajamos con un servidor Apache y podemos excluir una ruta modificando el fichero .htaccess para que no pase por el gestor de rutas de Laravel. Bastaría con añadir la línea:

RewriteCond %{REQUEST_URI} !^/foros

De esta forma todas las rutas que comiencen por foros quedarán excluidas. El fichero completo quedaría algo así:


    
        Options -MultiViews
    
    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/foros
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Ah, y no olvides una cosa muy, muy importante... esa carpeta que quieres excluir de las rutas de Laravel ¡tiene que ir dentro de la carpeta public!

Autor:
Nivel: Intermedio
Palabras clave:
Fecha publicado:
Fecha actualizado: 02-09-2016

Otros capítulos de la misma serie

Este capítulo es parte de la serie: Laravel pearls.

Y muchos más en preparación.

Disponible en los planes: Laravel hero