I'm wondering how to disable the routing on laravel for a specific directory?
I am hoping to run my main website off of laravel (I'm rewriting it into the framework), but I'd like to retain my current forum software! The problem is, when laravel sees the "localhost/forums" it looks for a forums controller or route. I'd like it to simply go to the literal /forums directory..?
I had to add this line in public/.htaccess
RewriteCond %{REQUEST_URI} !^/foldername
before this line (that redirects trailing slashes)
RewriteRule ^(.*)/$ /$1 [L,R=301]
With Laravel 4 none of these solutions were working for me. I eventually solved it by placing
RewriteRule ^(directory-name) - [L]
before
RewriteRule ^(.*)/$ /$1 [L,R=301]
in public/.htaccess
You need to make an exclusion in your .htaccess
file. Just above the rule that sends everything to index.php
, add this:
RewriteCond %{REQUEST_URI} !^/forums
Anything that begins with /forums
will not be sent to Laravel.
(Of course, this is assuming you are using Apache.)
According to your routes.php
file it is supposed to work.
- You are not catching
forum
URL at all - If 'forum' directory/file exists, URL is not rewritten to Laravel's
index.php
routes.php
(I used this one in the test case)
Route::get('{slug}', function($slug){
return $slug;
});
File structure
|- app
|- public
|--- index.php // Laravel's one
|--- forum // directory for forum files
|------ index.php // Forum's one
....
Using this structure, URL is not rewritten to Laravel's routing index.php file.
If I rename/remove forum
folder URL is rewritten then.
Does it work for you?
I'm using nginx, it's work for me:
location /your_folder {
try_files $uri $uri/ /your_folder/index.php?$args;
}
I needed to exclude /billing url on Laravel 5.7 So this way worked for me:
Route::redirect('/billing', '/billing');
when billing located at: My billing folder location
来源:https://stackoverflow.com/questions/18075290/disable-laravel-routing-for-a-specific-folder-route