PHP Slim REST Framework,找不到.404错误

时间:2019-12-01 17:57:52

标签: php rest slim

我正在尝试使用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错误。

为什么?

1 个答案:

答案 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]