PHP Slim Framework Routing仅在本地工作

时间:2019-03-08 14:42:10

标签: php apache ubuntu slim lamp

我使用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和我的/public位于index.php中,其中包含:

RewriteEngine On

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

我已经为mod_rewrite启用了Apache。

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

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

因此Slim似乎正在正确渲染目录index.php中的/var/www/views。此路径在容器中定义如下:

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

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

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

我已经用Google搜索了几个小时,尝试使用不同的解决方案,但我无法使其正常工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

应该是.htaccess而不是.htaccess.txt。您正在使用哪种操作系统?