Slim PHP 错误的重定向,为调用的任何 URI 获取 /public
Slim PHP bad redirection, get /public for any URI called
我正在尝试在 plesk 服务器上安装一个基于 slim framework 的网络应用程序。该应用程序在我的 WAMP 服务器中运行良好,但在 Web 服务器中无法运行。这一定是服务器配置错误,但我无法找出可能是哪个问题。
在我的应用程序中,我打印 $this->app->request->getRootUri();
以访问被调用的 URI,我得到:/public
对于任何 URI。
我的 /httpdocs/.htaccess
看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/index.php [L]
RewriteRule (.*) public/index.php/ [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,或者 script_name 如果 slim 没有安装在子文件夹中。它应该始终是 pathInfo.
所以它在 windows 上运行良好,但如果我们不将项目放在子文件夹中,它在 linux 上就无法运行...
我正在尝试在 plesk 服务器上安装一个基于 slim framework 的网络应用程序。该应用程序在我的 WAMP 服务器中运行良好,但在 Web 服务器中无法运行。这一定是服务器配置错误,但我无法找出可能是哪个问题。
在我的应用程序中,我打印 $this->app->request->getRootUri();
以访问被调用的 URI,我得到:/public
对于任何 URI。
我的 /httpdocs/.htaccess
看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/index.php [L]
RewriteRule (.*) public/index.php/ [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,或者 script_name 如果 slim 没有安装在子文件夹中。它应该始终是 pathInfo.
所以它在 windows 上运行良好,但如果我们不将项目放在子文件夹中,它在 linux 上就无法运行...