我一直试图在几个小时内搜索这个问题,但似乎没有一个解决方案适用于我的情况。
我已经在我的nginx服务器上用raspbian安装了joomla用于测试目的。 该目录位于/ var / www / joomla。
如果我将/ etc / nginx / sites-的根目录更改为/ var / www / joomla,该网站可以正常工作,但是如果我想从http://www.example.com/joomla访问我的joomla网站,它就赢了工作。 我可以访问joomla主页,但如果我点击主页上的某个链接(例如我有一个地址为http://www.example.com/joomla/index.php/contact的联系表格),我会得到&#34;没有指定输入文件错误&#34;。< / p>
这是来自/ 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有关,但我没有弄清楚我应该编辑什么以及从哪里开始。
谢谢!
答案 0 :(得分:3)
是的!我搞定了。感谢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;
}
}
答案 1 :(得分:0)
在下面查看配置设置
server {
listen 80;
root /var/www;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?q=$request_uri$args;
}
location ~ \.php$ {
root /var/www;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}