我的应用程序位于C:\ xampp \ htdocs \ urlrouter \ klein \
我使用作曲家安装了klein路由器 而且,我使用这个脚本只是为了简单的基本路由
define('APP_PATH', '/urlrouter/klein/');
require_once 'vendor/autoload.php';
$request = \Klein\Request::createFromGlobals();
$request->server()->set('REQUEST_URI', substr($_SERVER['REQUEST_URI'], strlen(APP_PATH)));
$klein = new \Klein\Klein();
$klein->respond('GET', '/hello', function () {
return 'Hello World!';
});
$klein->dispatch($request);
我也有.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]
但是,当我转到http://localhost/urlrouter/klein/hello
时,它会将我重定向到XAMPP主页或http://localhost/xampp/splash.php
我无法弄清楚这个路由器有什么问题。请帮帮我
答案 0 :(得分:1)
我从来没有尝试过与Klein一起操纵REQUEST_URI
(不是说你不应该,只是警告缺乏专业知识),但你的substr()调用将会产生& #34;你好",你的路线模式是" / hello"。这可能或不重要(Klein中的路由匹配逻辑有些复杂,我还没有将其所有细节内化)。无论如何,我认为值得一试将你的APP_PATH
定义为' / urlrouter / klein'而不是' / urlrouter / klein /'。
如果有效,请冷静。如果没有,请发表评论,我会尝试重现您所看到的内容。