问题
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..?
回答1:
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]
回答2:
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
回答3:
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.)
回答4:
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?
回答5:
I'm using nginx, it's work for me:
location /your_folder {
try_files $uri $uri/ /your_folder/index.php?$args;
}
回答6:
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