PHP自定义路由器错误404
我试图用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(
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");