Altorouter 无法执行路由

Altorouter can't execute routes

我在基本的 PHP 应用程序(无框架)中使用 Altorouter,但不知何故无法正常工作。以下是详细信息:

index.php

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
require_once __DIR__ . '/vendor/autoload.php';

$router = new AltoRouter();

$router->map( 'GET', '/', function() {
    include __DIR__ . 'home.php';
});

print "Done";

它打印 完成 并且 php 日志中没有错误。

htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

我访问它的方式是`http://localhost/home/myapp/

好的,我明白了。我要访问的 URL 是:

http://localhost/home/myapp/

Altorouter 不知道 root URL 所以需要设置 basePath。它是这样完成的:

$router->setBasePath('/home/myapp');

请注意,不应将尾随 / 放入 setBasePath 中,因为我们会像这样将其放入 map 函数中:

$router->map('GET', '/', 'home.php', 'home');
$match = $router->match();
if ($match) {
    require $match['target'];
} else {
    header("HTTP/1.0 404 Not Found");
    require '404.html';
}