我正在将我的服务器从 Apache 迁移到 Nginx,并且有这个非常简单的.htaccess
规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
它背后的想法是将每个请求定向到前端控制器(index.php
)。我正在尝试对 Nginx 做同样的事情。我使用了一个在线转换器来制作这个 Nginx 位置块:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
但是当我将它添加到我的站点配置中时,Nginx 只是吐出 PHP 文件的源代码作为下载。作为参考,这是整个配置文件:
我知道 PHP 可以正常工作,就好像我删除了 location 块并使用<?php phpinfo();
它制作的文件正常工作一样。
任何帮助,将不胜感激。