php-nginx错误:网站位于子目录中时,“未指定输入文件”

前端之家收集整理的这篇文章主要介绍了php-nginx错误:网站位于子目录中时,“未指定输入文件” 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直在尝试搜索此问题几个小时,但在我看来,所有解决方案都无法正常工作.

我已经在raspbian的Nginx服务器中安装了joomla,以进行测试.
该目录位于/ var / www / joomla中.

如果我将根目录从/ etc / Nginx / sites-available更改为/ var / www / joomla,则该站点可以工作,但是,如果我希望从http://www.example.com/joomla访问我的joomla站点,它将无法工作.
我可以进入joomla主页,但是如果单击主页上的某些链接(例如,我有一个地址为http://www.example.com/joomla/index.php/contact的联系表),则会收到“未指定输入文件错误”.

这是我在/ etc / Nginx / sites-available / site中的配置:

server {
     listen 80;
     root /var/www;
     index index.PHP index.html index.htm;

     location / {
          try_files $uri $uri/ /index.PHP?q=$request_uri;
     }

     location ~ \.PHP${
            fastcgi_pass unix:/var/run/PHP5-fpm.sock;
            fastcgi_index index.PHP;
            include fastcgi_params;
     }
     }

我读到此错误可能与fastcgi_param SCRIPT_FILENAME有关,但是我没有弄清楚应该编辑什么以及从哪里编辑.

谢谢!

最佳答案
是!我知道了感谢Joe Niland告诉解决方案.

我实际上尝试过一次,但是在joomla / index.PHP之前我可能已经错过了’/’.

现在,有效的/ etc / Nginx / sites-available / site配置为:

server {
 listen 80;
 root /var/www;
 index index.PHP index.html index.htm;

 location / {
      try_files $uri $uri/ /joomla/index.PHP?q=$request_uri;
 }

 location ~ \.PHP${
        fastcgi_pass unix:/var/run/PHP5-fpm.sock;
        fastcgi_index index.PHP;
        include fastcgi_params;
 }
 }

猜你在找的Nginx相关文章