define("ROUTE_BASE", "lumen/public");
$app->get(ROUTE_BASE . "/", function () use ($app) {
return $app->welcome();
});
$app->get(ROUTE_BASE . "/test", function () use ($app) {
return "test data : 123 abc !";
});
Wenn ich darauf zugreife "localhost / lumen / public /" Ich kann die "Lumen-Willkommensseite" sehen.
Aber wenn ich versuche zuzugreifen "localhost / lumen / public / test"Ich erhalte den folgenden Fehler.
Fehler: Es wurde nicht gefunden (404).
Antworten:
0 für die Antwort № 1Ihr Lumen-Projekt muss in die Webroot Ihrer localhost,Domain oder virtueller Host nicht in einem Unterordner Ihrer Webroot ohne Bearbeitung Ihres .htaccess. Um auf Ihr Projekt im Browser zuzugreifen: http://lumen.laravel.dev nicht http://lumen.laravel.dev/public/
Ich hoffe diese Hilfe. Entschuldigung für mein Englisch :)
1 für die Antwort № 2
Laravel erwartet, dass das öffentliche Verzeichnis die Webroot Ihrer Domäne ist. Da dies in Ihrem Fall nicht der Fall ist, müssen Sie einige Änderungen an Ihrem System vornehmen .htaccess
.
Options +FollowSymLinks
RewriteEngine On
RewriteBase /lumen/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Erwähnenswert ist auch, dass Sie anstelle einer Konstanten Routengruppen verwenden können, um die gleiche Funktionalität in der route.php zu erreichen.
$app->group(["prefix" => "lumen/public"], function ($app) {
$app->get("/", function () {
//welcome
});
$app->get("test", function () {
return "test data : 123 abc !";
});
});