2015-05-10 15 views
7

Ich habe einige Änderungen in routes.php gemacht und Restkonfiguration ist Standard. routes.php ist wie folgt:laravel 5/auth/Login nicht gefunden

//Route::get('/', '[email protected]'); 

Route::get('/', '[email protected]'); 

Route::controllers([ 
    'auth' => 'Auth\AuthController', 
    'password' => 'Auth\PasswordController', 
]); 

Ausgabe von PHP-Handwerker Route: Liste ist

+--------+--------------------------------+-------------------------------------------------------+------+------------------------------------------------------------+------------+ 
| Domain | Method       | URI             | Name | Action              | Middleware | 
+--------+--------------------------------+-------------------------------------------------------+------+------------------------------------------------------------+------------+ 
|  | GET|HEAD      |/             |  | App\Http\Controllers\[email protected]     | auth  | 
|  | GET|HEAD      | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | POST       | auth/register/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | GET|HEAD      | auth/login/{one?}/{two?}/{three?}/{four?}/{five?}  |  | App\Http\Controllers\Auth\[email protected]   | guest  | 
|  | POST       | auth/login/{one?}/{two?}/{three?}/{four?}/{five?}  |  | App\Http\Controllers\Auth\[email protected]   | guest  | 
|  | GET|HEAD      | auth/logout/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]   |   | 
|  | GET|HEAD|POST|PUT|PATCH|DELETE | auth/{_missing}          |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | GET|HEAD      | password/email/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | POST       | password/email/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | GET|HEAD      | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | POST       | password/reset/{one?}/{two?}/{three?}/{four?}/{five?} |  | App\Http\Controllers\Auth\[email protected]  | guest  | 
|  | GET|HEAD|POST|PUT|PATCH|DELETE | password/{_missing}         |  | App\Http\Controllers\Auth\[email protected] | guest  | 
+--------+--------------------------------+-------------------------------------------------------+------+------------------------------------------------------------+------------+ 

Wenn ich die Seite über http://laravel/ greife ich

bekommen

Die angeforderte URL/Auth/login war nicht auf diesem Server gefunden.

aber wenn ich http://laravel/index.php/auth/login verwende, funktioniert es ohne jeden Fehler. Was ist falsch an meinem Routing?

Ich verwende WAMP auf Windows 7 64-Bit.

+0

Ich würde Homestead mit sehr empfehlen. Es kommt mit allem für Laravel eingerichtet. – ntzm

+1

Das stimmt. Aber gibt es eine Möglichkeit, es mit WAMP arbeiten zu lassen –

+0

Haben Sie 'mod_rewrite' auf Ihrem WAMP aktiviert? – ntzm

Antwort

1

Die Lösung gefunden. Es war ein Konfigurationsproblem mit Apache. Die Installation von Apache löste das Problem.

+0

aber was ist, wenn jemand nginx verwendet? –

4

Sie müssen mode_rewrite damit für apache.I dieses Problem nach diesem Blog am Ende Ihres Arrays http://www.kingpabel.com/apache-mod_rewrite/

+0

Ich überprüfte den Link, aber ich verstehe es überhaupt nicht. Pflege erklären? – Wax

+0

das ist wahr! Ich hatte das selbe Problem und habe damit behoben –

+0

Genau das war das Problem! Vielen Dank. – IIllIIll

2
Route::controllers([ 
    'auth' => 'Auth\AuthController', 
    'password' => 'Auth\PasswordController', 
]); 

Das zusätzliche Komma
gelöst kann etwas bewirken?

Ich habe das gleiche Problem, aber das Komma ist etwas, das ich sofort

sah
+1

Zusätzliche Kommata werden in Array-Deklarationen in PHP ignoriert. – BayssMekanique

1

Es kann ein Anbieter Paket sein, das mit Ihnen seine eigenen Routen, die in Konflikt hat.

Wenn bei der Ausführung von artisan route: list unerklärte Routen angezeigt werden, gehören sie möglicherweise zu einem Herstellerpaket, das Sie kürzlich hinzugefügt haben. Für uns war es "acacha/admin-lte-template-laravel".

Der folgende Code wurde in "acacha/admin-lte-template-Laravel/src/app/Anbieter/AdminLTETemplateServiceProvider.php"

private function registerRoutes() 
{ 

    Route::controller(
     'auth', $this->getAppNamespace() . 'Http\Controllers\Auth\AuthController' , 
     [ 'getLogin' => 'auth.login', 
      'getLogout' => 'auth.logout', 
      'getRegister' => 'auth.register' 
     ]); 
    Route::controller(
     'password' , $this->getAppNamespace() . 'Http\Controllers\Auth\PasswordController', 
     [ 'getReset' => 'auth.reset',]); 

    Route::get('/home', ['as' => 'home','middleware' => 'auth', function() { 
     return view('home'); 
    }]); 

} 

gefunden ich denke, das ist, warum die „{ein?}/{ zwei?}/{drei?}/{vier?}/"erscheint (ich glaube, dieses Routenmuster wird hinzugefügt, wenn Route :: controller vom Anbieter verwendet wird).

2

Ohne Apache können Sie es mit php artisan serve testen. Bevor Sie Änderungen an .env vornehmen müssen, ändern Sie APP_ENV in local. dann browse auth \ login, Überprüfen Sie den Fehler. In meinem Fall ist der Fehler: PDO nicht gefunden. Hoffe, das könnte helfen.

2

In meinem Projekt hatte ich die folgende Anweisung an die Apache-Konfiguration hinzuzufügen:

<Directory /var/www/html/checkin> 
AllowOverride All 
</Directory> 
0

Apache mod_rewrite

//enable mod rewrite 
a2enmod rewrite 

//restart apache 
service apache2 restart 
Verwandte Themen