2016-07-10 9 views
0

Ich erstelle ein neues Laravel 5-Projekt und die Routes-Datei ist wie unten.NotFoundHttpException in RouteCollection.php

Route::get('/', function() { 
    return view('welcome'); 
}); 

Wenn ich es mit http://localhost/mysite/laravel/public/ zugreifen es funktioniert gut und geht auf die Startseite. Aber wenn ich die Route wie folgt ändere und auf sie als http://localhost/mysite/laravel/public/blogs zugreift, tritt ein Fehler auf.

Route::get('/blogs', function() { 
     return view('welcome'); 
}); 

Fehler:

NotFoundHttpException in RouteCollection.php line 161: 
in RouteCollection.php line 161 
at RouteCollection->match(object(Request)) in Router.php line 821 
at Router->findRoute(object(Request)) in Router.php line 691 
at Router->dispatchToRoute(object(Request)) in Router.php line 675 
at Router->dispatch(object(Request)) in Kernel.php line 246 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
at Pipeline->then(object(Closure)) in Kernel.php line 132 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 
at Kernel->handle(object(Request)) in index.php line 54 

Das Projekt ist ein frischer und ich nicht ändern jede Datei mit Ausnahme der Strecke. Was ist der Grund für diesen Fehler? Ich benutze Laravel 5.x und XAMPP. Ich lese alle ähnlichen Fragen in stackoverflow, aber ich konnte immer noch keine Antwort finden, bitte helfen Sie mir. enter image description here

Antwort

2

Sie müssen virtualHost einrichten;

# VirtualHost for LARAVEL.DEV 
<VirtualHost laravel.dev:80> 
    DocumentRoot "C:\xampp\htdocs\laravel\public" 
    ServerAdmin laravel.dev 
    <Directory "C:\xampp\htdocs\laravel"> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Require all granted 
    </Directory> 
</VirtualHost> 

und etnry in sich zu hosts Datei hinzufügen:

C:\Windows\System32\drivers\etc 

# localhost name resolution is handled within DNS itself. 
# 127.0.0.1  localhost 
# ::1    localhost 

127.0.0.1 laravel.dev 

Denken Sie daran, Wege zu justieren.

+0

Aber warum konnte nicht nur die Verbindung wie oben verwendet werden? Ich denke, es sollte funktionieren. – chamathabeysinghe

2

Sie können das Laravel-Projekt auch ausführen, indem Sie die Eingabeaufforderung öffnen, das Arbeitsverzeichnis in den Laravel-Projektordner ändern und den Befehl "php artisan serve" auslösen.

Ihr Laravel-Projekt kann jetzt über - localhost: 8000 aufgerufen werden.

Der Grund, warum Sie direkt von der XAMPP ohne VirtualHost-Konfiguration können ist, dass die Laravel App den öffentlichen Ordner als 'root' aus Sicherheitsgründen verwendet, es sei denn, Sie fügen/public in die zugreifende URL ein.

Verwandte Themen