苗条的PHP错误重定向,为调用的任何URI获取/public


Slim PHP bad redirection, get /public for any URI called

我正在尝试在 plesk 服务器上安装一个基于 slim 框架的 web 应用程序。该应用程序在我的 WAMP 服务器中运行良好,但在 Web 服务器中无法正常工作。一定是服务器配置未命中,但我无法找出可能是哪个问题。

在我的应用程序中,我打印$this->app->request->getRootUri();来访问调用的 URI,并且我得到任何 URI 的 /public

我的/httpdocs/.htaccess看起来像这样:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    public/index.php    [L]
    RewriteRule    (.*) public/index.php/$1    [L]
</IfModule>

我的/httpdocs/public/.htaccess看起来像这样:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

知道我可以做些什么才能使我的应用程序工作吗?

为了查找虚拟路径,slim 使用 env 变量的 pathInfo,或者如果 slim 未安装在子文件夹中,则script_name。它应该始终是路径信息。

所以它在 Windows 上运行良好,但如果我们不将项目放在子文件夹中,它就无法在 Linux 上运行......