我已经在域中设置了wordpress博客。使用nginx的com/blog。我可以查看所有wordpress页面,访问管理仪表板和各种管理页面。但是,当我尝试访问“编辑”时。php”,我在浏览器中收到一条错误消息-
The input type is invalid
因此,我打开了调试并在日志中找到了-
Undefined offset: 1 in /home/projects/webapps/blog/wp-includes/vars.php on line 31
我的nginx设置是-
server {
listen 80;
server_name www.domain.com domain.com 22.22.22.22;
root /home/projects/webapps;
location /blog {
index index.php index.html index.htm;
try_files $uri $uri/ /blog/index.php?$args;
}
location ~ \\.php$ {
fastcgi_split_path_info ^(/blog)(/.*)$;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
最合适的回答,由SO网友:bynicolas 整理而成
好的,我不确定这是否会解决您的问题,但您日志中的错误(尤其是从中调用它的文件)告诉我这是一个查询vars问题,可能是由错误的regex或nginx配置中请求的错误路由引起的。
更换您的线路
fastcgi_split_path_info ^(/blog)(/.*)$;
使用
fastcgi_split_path_info ^(.+\\.php)(/.+)$;
并更换(我不确定是否需要这个,但你也可以试试)
fastcgi_param SCRIPT_FILENAME $request_filename;
使用
fastcgi_param SCRIPT_FILENAME $document_root$request_filename;