PHP自定义路由器错误404

PHP自定义路由器错误404,php,routing,routes,url-routing,router,Php,Routing,Routes,Url Routing,Router,我试图用PHP创建基本路由器,但只有索引路由有效(“”) 当我尝试另一个路径时,比如“登录”,我会得到404错误 我的路由器: class Router { private $routes = []; public function __construct($routes) { $this->routes = $routes; } public function directTo($uri) { if (array_key_exists(

我试图用PHP创建基本路由器,但只有索引路由有效(“”)

当我尝试另一个路径时,比如“登录”,我会得到404错误

我的路由器:

class Router {

 private $routes = [];

 public function __construct($routes)
 {
     $this->routes = $routes;       
 }

 public function directTo($uri)
 {
     if (array_key_exists($uri, $this->routes)) {

        return $this->routes[$uri];

     } 

     throw new \Exception("Route not found", 1);

 }

}
路由文件:

return [

  '' => 'controllers/IndexController.php',

  'login' => 'controllers/LoginController.php',

  'register' => 'controllers/RegisterController.php',

  'logout' => 'controllers/LogoutController.php',

];
应用程序入口点(index.php):

我认为问题可能与index.php中的$uri变量有关,但我无法指出问题所在

当我硬编码$uri时,如下所示:

require $router->directTo("login");

它就像一个魔咒。

你到底在用什么.htaccess文件吗?不,我想这是我应该研究的。谢谢你的想法。+SpacePhoenix谢谢你的提示,我已经通过创建.htaccess文件并添加:FallbackResource/index.php解决了这个问题。如果你愿意写一个完整的答案,我很乐意接受。祝您有个美好的一天!
require $router->directTo("login");