我是一个PHP中的noobie,我正在使用AltoRouter设置一个简单的路由。下面是我的index.php和.htaccess文件,它们位于路径文件夹中,即/ var/www/html/ 我使用Apache2来提供网页。PHP AltoRouter只服务于基址的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]
问题: 当我访问本地主机中, 'home.php' 得到服务,但是当我访问 '本地主机/登录' 或'本地主机/注册',我得到404错误。
我得到相同的404错误。 – user2379271