2016-07-11 4 views
1

Ich bin ein grundlegendes CMS mit SEO Slugs, so dass ich einen Haken alle am Ende meiner Routen, um die Schnecke zu bekommen. So am Ende meiner Routen-Datei ich hinzugefügt:Wie kann ich einen Fang alle Route als allerletzte Route in Laravel

Route::get('/{page?}', ['as' => 'Page', 'middleware' => 'web', 'uses' => '[email protected]']); 

der gut arbeitet, bis ich Laravel File Manager hinzugefügt, die Routen seiner eigenen hat. Diese Routen werden nach alle Routen in meiner Hauptdatei routes hinzugefügt. So, jetzt fängt mein Fang alles an, was für den Dateimanager gedacht ist.

Wie kann ich alle anderen Routen, einschließlich derer in anderen Herstellerordnern, laden, bevor die Catch-Funktion ausgeführt wird? Gibt es eine Möglichkeit, dass ich feststellen kann, dass die Route keiner Route mit dem Präfix laravel-filemanager entsprechen darf? Ich habe dazu in der Laravel-Dokumentation oder über Google nichts gefunden.

Wie hier angefordert ist mein App-Anbieter:

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    Illuminate\Auth\AuthServiceProvider::class, 
    Illuminate\Broadcasting\BroadcastServiceProvider::class, 
    Illuminate\Bus\BusServiceProvider::class, 
    Illuminate\Cache\CacheServiceProvider::class, 
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 
    Illuminate\Cookie\CookieServiceProvider::class, 
    Illuminate\Database\DatabaseServiceProvider::class, 
    Illuminate\Encryption\EncryptionServiceProvider::class, 
    Illuminate\Filesystem\FilesystemServiceProvider::class, 
    Illuminate\Foundation\Providers\FoundationServiceProvider::class, 
    Illuminate\Hashing\HashServiceProvider::class, 
    Illuminate\Mail\MailServiceProvider::class, 
    Illuminate\Pagination\PaginationServiceProvider::class, 
    Illuminate\Pipeline\PipelineServiceProvider::class, 
    Illuminate\Queue\QueueServiceProvider::class, 
    Illuminate\Redis\RedisServiceProvider::class, 
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, 
    Illuminate\Session\SessionServiceProvider::class, 
    Illuminate\Translation\TranslationServiceProvider::class, 
    Illuminate\Validation\ValidationServiceProvider::class, 
    Illuminate\View\ViewServiceProvider::class, 

    /* 
    * Application Service Providers... 
    */ 
    App\Providers\AppServiceProvider::class, 
    App\Providers\AuthServiceProvider::class, 
    App\Providers\EventServiceProvider::class, 
    App\Providers\RouteServiceProvider::class, 

    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 
    Caffeinated\Modules\ModulesServiceProvider::class, 
    Intervention\Image\ImageServiceProvider::class, 
    Spatie\Activitylog\ActivitylogServiceProvider::class, 
    Spatie\Permission\PermissionServiceProvider::class, 
    Unisharp\Ckeditor\ServiceProvider::class, 
    Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class, 

], 
+0

können Sie App-Anbieter auflisten? eine Lösung vielleicht filemanager Dienstanbieter vor dem Route Service Provider –

+0

@GeorgeGarchagudashvili Ich habe meine App-Anbieter für Sie hinzugefügt, der Dateimanager ist der letzte. – Styphon

Antwort

3

einfach versuchen, die Service-Provider in app.php wie folgt neu zu ordnen:

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 

    Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class, 
    ... 
    App\Providers\RouteServiceProvider::class, 
    ... 

], 

Auf jeden Fall immer RouteServiceProvider schreibe ich am Ende der Liste , wenn nicht Sonderfall

+0

Vielen Dank, nicht bemerkt, dass die Reihenfolge der Anbieter die Reihenfolge der geladenen Routen beeinflusst hat. – Styphon

+0

Willkommen, froh, Ihnen zu helfen. Laravel ist groß, du kannst also nicht alles realisieren bis du das Problem hast;)) –