PHP Slim Framework Routing 只在本地工作

PHP Slim Framework Routing does only work locally

我使用 Slim Framework 构建了一些小型路由。一切都在本地完美运行。我现在租了一个 Droplet 并在 Ubuntu 18.04 上使用 LAMP 堆栈。我的应用程序位于 /var/www/src/public.

位置

我已经把这个添加到 apache.conf:

<Directory /var/www/src/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

我的000-default.conf已经设置了正确的路线。

我的 .htaccess.txt 与我的 index.php 位于 /public,其中包含:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

我已经为 Apache 启用了 mod_rewrite

当我调用服务器 IP 地址时,主页成功加载 Slim,路由设置如下:

$app->get('/', function (Request $request, Response $response) {
    return $this->renderer->render($response, "/index.php");
});

所以 Slim 似乎正确地呈现了目录 /var/www/views 中的 index.php。这个路径在容器中是这样定义的:

$container['renderer'] = new PhpRenderer("../../views");

例如,当我尝试访问站点 ip_address/player 时,问题就开始了,即使它已正确路由并且在本地运行。试图达到它在浏览器中给我这个:

Not Found
The requested URL /player was not found on this server.

我在谷歌上搜索了几个小时尝试不同的解决方案,但我就是无法让它工作。任何帮助将不胜感激。

不应该是.htaccess 而不是.htaccess.txt。你在哪个OS?