我正在尝试在 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 上运行......