克莱因 url 路由器在 XAMPP 上不起作用

Posted

技术标签:

【中文标题】克莱因 url 路由器在 XAMPP 上不起作用【英文标题】:Klein url router not working on XAMPP 【发布时间】:2015-08-31 18:58:36 【问题描述】:

我的应用在 C:\xampp\htdocs\urlrouter\klein\

我使用 composer 安装了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 我不知道这个路由器有什么问题。请帮帮我

【问题讨论】:

【参考方案1】:

我从来没有尝试用 Klein 操纵 REQUEST_URI(不是说你不应该,只是警告你缺乏专业知识),但是你的 substr() 调用会产生“你好”,你的路线模式是“/你好”。这可能或可能无关紧要(Klein 中的路由匹配逻辑有些复杂,我还没有内化它的所有细节)。无论如何,我认为值得尝试将您的 APP_PATH 定义为 '/urlrouter/klein' 而不是 '/urlrouter/klein/'。

如果可行,那就太酷了。如果没有,请发表评论,我会尝试重现您所看到的内容。

【讨论】:

谢谢,它适用于修改为 RewriteRule . index.php [L] 的 RewriteRule(index.php 之前没有反斜杠)!

以上是关于克莱因 url 路由器在 XAMPP 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Express/Passport、AngularJS 和 ensureLoggedIn 的身份验证和路由在“/”url 上不起作用

xampp 中的 xdebug 在 netbeans 上不起作用

.htaccess 在 XAMPP mac 上不起作用

.htaccess 在 Xampp localhost 服务器上不起作用

.htaccess 在 xampp Ubuntu 14.04 上不起作用

为啥 Laravel 发布方法在路由器页面上不起作用?