2016-05-25 7 views
0

Ich entwickle eine Anwendung auf Laravel 5.2. Ich bin fertig mit der Entwicklung und Bereitstellung der Anwendung auf einem Linux-Server. Ich habe den Quellcode mit git verschoben und Migrationen ausgeführt. Ich kann alles sehen, aber wenn ich auf das Projekt (irgendeine URL) zugreife, gibt es 404 Fehler.Laravel 5.2 Projekt - Deployment unter Linux

The requested URL /project_name/public/ROUTE_NAME was not found on this server. 

ich Apache-Logs überprüft, sagen sie

Wed May 25 17:17:15 2016] [error] [client 172.16.17.15] File does not exist: /var/www/html/project_name/public/ROUTE_NAME 

Lassen Sie mich Ihre Gedanken kennen.

+0

Haben Sie mod_rewrite haben auf dem Server? –

+0

@VasilShaddix möchte es wissen, lassen Sie mich wissen, was ich überprüfen muss. Ich habe Apps-Entwickler auf anderen Frameworks bereitgestellt, aber dies ist das erste Mal auf Laravel. –

+0

welche URL du triffst zeige deine Routendatei –

Antwort

0

Mögliches Problem ist das fehlende Modul mod_rewrite auf dem Apache.

https://httpd.apache.org/docs/current/mod/mod_rewrite.html

Das Routing-System von Laravel arbeitet daran. Es dauert nur Ihre URL und es ist Magie. Aber ohne diesen Modus wird es nicht funktionieren.

In index.php in den öffentlichen Ordner

phpinfo();die();

versuchen Sie, ob Sie den Modus aktiviert haben.

Wenn der Modus nicht aktiv ist, können Sie diese Anweisungen folgen

https://stackoverflow.com/a/24354757/4969969

ohne die Notwendigkeit, das gesamte Dokument Stammordner des Servers zu ändern:

DocumentRoot "/var/www/html/" .... <Directory "/var/www/html/project_name/public"> Allowoverride All </Directory>

+0

Ich habe phpinfo ausgecheckt, ich kann mod_rewrite in Loaded Module sehen –

+0

können Sie versuchen, im Browser/public/index.php/ROUTE_NAME zu laufen? –

+0

Ihr Problem ist das mod_rewrite. Sie können diese Antwort auf http://stackoverflow.com/a/24354757/4969969 ansehen. Ich denke, es ist gut erklärt. –