Altorouter 无法执行路由
Altorouter can't execute routes
我在基本的 PHP 应用程序(无框架)中使用 Altorouter
,但不知何故无法正常工作。以下是详细信息:
index.php
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
require_once __DIR__ . '/vendor/autoload.php';
$router = new AltoRouter();
$router->map( 'GET', '/', function() {
include __DIR__ . 'home.php';
});
print "Done";
它打印 完成 并且 php 日志中没有错误。
htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
我访问它的方式是`http://localhost/home/myapp/
好的,我明白了。我要访问的 URL 是:
http://localhost/home/myapp/
Altorouter
不知道 root URL 所以需要设置 basePath。它是这样完成的:
$router->setBasePath('/home/myapp');
请注意,不应将尾随 /
放入 setBasePath
中,因为我们会像这样将其放入 map
函数中:
$router->map('GET', '/', 'home.php', 'home');
$match = $router->match();
if ($match) {
require $match['target'];
} else {
header("HTTP/1.0 404 Not Found");
require '404.html';
}
我在基本的 PHP 应用程序(无框架)中使用 Altorouter
,但不知何故无法正常工作。以下是详细信息:
index.php
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
require_once __DIR__ . '/vendor/autoload.php';
$router = new AltoRouter();
$router->map( 'GET', '/', function() {
include __DIR__ . 'home.php';
});
print "Done";
它打印 完成 并且 php 日志中没有错误。
htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
我访问它的方式是`http://localhost/home/myapp/
好的,我明白了。我要访问的 URL 是:
http://localhost/home/myapp/
Altorouter
不知道 root URL 所以需要设置 basePath。它是这样完成的:
$router->setBasePath('/home/myapp');
请注意,不应将尾随 /
放入 setBasePath
中,因为我们会像这样将其放入 map
函数中:
$router->map('GET', '/', 'home.php', 'home');
$match = $router->match();
if ($match) {
require $match['target'];
} else {
header("HTTP/1.0 404 Not Found");
require '404.html';
}