Disable Laravel Routing for a specific folder/route

前端 未结 6 1219
陌清茗
陌清茗 2021-01-17 08:49

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 framewor

相关标签:
6条回答
  • 2021-01-17 09:24

    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.)

    0 讨论(0)
  • 2021-01-17 09:27

    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]
    
    0 讨论(0)
  • 2021-01-17 09:27

    I'm using nginx, it's work for me:

    location /your_folder {     
        try_files $uri $uri/ /your_folder/index.php?$args;
    }
    
    0 讨论(0)
  • 2021-01-17 09:35

    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

    0 讨论(0)
  • 2021-01-17 09:40

    According to your routes.php file it is supposed to work.

    1. You are not catching forum URL at all
    2. 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?

    0 讨论(0)
  • 2021-01-17 09:45

    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

    0 讨论(0)
提交回复
热议问题