我想尝试使用altorouter,这是我第一次使用它,但是我不知道为什么我不能使它工作。 这是我项目的结构:
这是我在公用文件夹下的index.php代码。
require '../vendor/autoload.php';
$router = new AltoRouter();
//$router->setBasePath('/blog');
define('VIEW_PATH', __DIR__ . '/views');
// map homepage
$router->map( 'GET', '/', function() {
require VIEW_PATH.'/post/index.php';
});
// map category
$router->map( 'GET', '/blog/category', function() {
require VIEW_PATH.'/category/show.php';
});
$match = $router->match();
var_dump($match);
当我在php -S localhost:8888之后进入浏览器时,我不断得到$ match变量的空数组。
我尝试设置basePath(在上面的代码中为注释),在这种情况下,$ match返回false。 我已经看到有关此问题的多篇文章,但没有一篇可以帮助我解决问题。
这是.htaccess的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . public/index.php [L]
预先感谢