Ich bin ein Noobie in PHP, ich richte ein einfaches Routing mit AltoRouter ein. Unten sind meine index.php und .htaccess Datei, die auf dem Route-Ordner sind, d. H./Var/www/html/ Ich benutze Apache2 zum Servieren der Webseiten.PHP AltoRouter dient nur als Basis-URL
index.php
<?php
require 'vendor/AltoRouter.php';
$router = new AltoRouter();
// map homepage
$router->map('GET', '/', function() {
require __DIR__ . '/views/home.php';
});
$router->map('GET|POST', '/login', function() {
require __DIR__ . '/views/login.php';
});
$router->map('GET', '/signup', function() {
require __DIR__ . '/views/signup.php';
});
$match = $router->match();
// call closure or throw 404 status
if ($match && is_callable($match['target'])) {
call_user_func_array($match['target'], $match['params']);
} else {
// no route was matched
header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found');
}
?>
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
Problem: Wenn ich localhost besuchen, die 'home.php' serviert bekommen, aber wenn ich besuchen 'localhost/login' oder 'localhost/signup', bekomme ich 404 Fehler.
Ich bekomme den gleichen 404 Fehler. – user2379271