2017-09-17 2 views
0

Aus irgendeinem Grund meine nicht autorisierte Route zeigt eine 404 für mein Laravel Projekt:Laravel nicht autorisierte Routen 404 auf Shared-Hosting-Server zeigt

<?php 

Route::group(['middleware' => 'auth'], function() { 
    Route::resource('bookings', 'BookingController'); 
    Route::get('bookings.export', '[email protected]')->name('bookings.export'); 
}); 

Auth::routes(); 

Route::get('/', function() { 
     return redirect('/dashboard'); 
}); 

Route::get('/bookings/contract', '[email protected]')->name('contract'); 

Wenn ich versuche, /bookings/contract zuzugreifen bekomme ich einen 404-Fehler. Es ist seltsam, denn wenn ich versuche, auf bookings.export zuzugreifen, funktioniert es gut.

Ich bin auf ein Shared-Hosting, so habe ich keinen Zugriff auf einen vhost, ich habe folgendes in meiner .htaccess-Datei:

DirectoryIndex index.html index.htm default.htm index.php index.php3 index.phtml index.php5 index.shtml mwindex.phtml 

AddHandler application/x-httpd-php71 .php .php5 .php4 .php3 

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
    # Options -MultiViews 
    </IfModule> 

    RewriteEngine On 
    RewriteBase/
    # 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 
    RewriteRule^index.php [L] 

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

Wer weiß, was hier vor sich geht?

+0

@Leo_Kelmendi Sie sind falsch, Laravel genannt Routen verwendet werden, wenn man sie programmatisch für Umleitungen usw. zugreifen wollen ... Es ist der Weg auf die Sie für eine normale URL-Anfrage zugreifen müssen. – user3574492

+0

Platzieren Sie die 'Vertrag' Route vor der' Route :: Gruppe' –

+0

@NorrisOduro Wow, die es getan zu haben scheint, warum ist das dann? Wenn Sie dies als Antwort schreiben, akzeptiere ich es. Danke – user3574492

Antwort

0

Wegen der Route::group, die eine Resource Route für booking in ihm hat, versucht Laravel alle booking Routen in dieser Gruppe zu finden.

eine andere Route zu verwenden, die das booking Präfix hat, legen Sie die oben Route::group

Verwandte Themen