在Ubuntu 16.04上找不到Slim Application Error类

时间:2018-02-22 14:41:58

标签: apache .htaccess slim

我刚刚使用Ubuntu 16.04上的Slim Framework,从Plesk环境移动到没有控制面板的服务器(Ubuntu 16.04)。在Plesk服务器上一切都很好。我的API(index.php)驻留在

httpdocs/api/v2

在该文件夹中我有这个htaccess文件

RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php

现在我已离开Plesk,我有这个(截断的)vhost文件:

<Directory /var/www/somedomain.co.uk/httpdocs>
   Options -Indexes +FollowSymLinks -MultiViews
   DirectoryIndex index.html index.php
</Directory>

然而,这个设置,如果我去somedomain.co.uk/api/v2/index.php我找不到Slim页面。

我已经尝试为htaccess添加重写基础,例如

RewriteEngine on
RewriteBase /api/v2
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php (have also tried ^ index.php)

但无济于事。

不确定此时还有什么可以尝试 - 任何帮助都非常感激。

更新 ...我可以在API中测试一个方法,例如somedomain.co.uk/api/v2/pages/index但这会返回Slim Application Error页面(如果有帮助的话)所有!)

UPDATE 解决了Composer安装问题。有了这个修复,我已经让它工作了,在vhost文件中使用上面的配置,这对于.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

0 个答案:

没有答案