我正在尝试使用Slim框架。发现奇怪的行为
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../../vendor/autoload.php';
require_once '../include/db_handler.php';
$app = new \Slim\App;
$app->get('/', function (Request $request, Response $response) {
$response->getBody()->write("Hello, api v1");
return $response;
});
$app->get('/chat', function (Request $request, Response $response) {
$response->getBody()->write("Hello, chat");
return $response;
});
$app->run();
?>
然后,如果我指向
http://some.ip.address/v1/
我明白了
Hello, api v1
如果指向
http://some.ip.address/v1/chat
我遇到404 not found错误。
为什么?
答案 0 :(得分:0)
30秒后,我发布了问题。我找到了答案。
http://www.slimframework.com/docs/v3/tutorial/first-app.html
您需要.htaccess
文件。
更改配置后,别忘了重启服务器进程!
我的src / public目录中还有一个.htaccess文件;这依赖于启用了Apache的重写模块,并使所有Web请求都进入index.php,以便Slim可以为我们处理所有路由。这是我的.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]