Klein url роутер не работает на XAMPP
Мое приложение находится на C:\xampp\htdocs\urlrouter\klein\
Я установил роутер klein с помощью composer.
И я использую этот скрипт только для простой базовой маршрутизации
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 ответ
Я никогда не пытался манипулировать REQUEST_URI
с Klein (я не говорю, что не должен, просто предупреждаю об отсутствии опыта), но ваш вызов substr() приведет к "hello", где ваш шаблон маршрута - "/hello". Это может иметь или не иметь значения (логика сопоставления маршрутов в Klein довольно сложна, и я не усвоил все ее детали). Во всяком случае, я думаю, что стоит попытаться определить ваш APP_PATH
как '/urlrouter/klein' вместо '/urlrouter/klein /'.
Если это работает, круто. Если нет, оставьте комментарий, и я постараюсь воспроизвести то, что вы видите.