最新消息
特大消息特大消息,由于答主解决不了后续出现的WEBDAV接口错误问题,因此更改了安装方式=====》DOCKER!
装完之后感慨一下,docker大法真好。
参考教程
1、烂泥:个人网盘nextcloud的docker化搭建
2、wonderfall/nextcloud 据说比官网好用的环境,可惜不带Collabora Online,还需要手动安装
安装过程
安装好LNMP安装包后,测试可用,然后将nextcloud文件夹放到 /home/wwwroot/
下,并通过lnmp vhost add
添加了新的虚拟主机。/usr/local/nginx/conf/vhost
中是刚设定好的虚拟主机配置文件,设定好端口以后以为万事大吉,谁知一堆404和403拦住了我的脚步。
尝试过程
输入网址,自动跳转到http://MyAddress/index.php
中,这个时候弹出了系统配置页面,可是配置完成后直接跳转到404页面http://MyAddress/index.php/apps/files
,我这个PHP小白还很纳闷,不一般路径都不带index.php么,到底什么情况。
查了很多钟解决方法,先后解决了文件夹的组和用户问题,PHP配置问题,添加了伪静态规则……
可是输入网址,还是熟悉的404。
其中有一次,使用了隐藏index.php大法
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
直接访问http://MyAddress/login.php
可以展示出页面,但是点击却没反应。发现是js之类的路径中间带那个万恶的index.php,卒。
最终解决(暂时)
后来终于综合几篇,找到了一种勉强可用的解决思路(因为强迫症想去掉路径中的index.php)。
下面的方法可以使带有index.php的路径正常访问
主要修改两个文件,pathinfo.conf
enable-php.conf
,当然,也可以修改vhost的配置文件,去掉引用enable-php.conf
,并且将下面两段话放到yourwebsite.conf
中。
1、enable-php.conf
删除原来location中的 (/|$) 注释掉try_files,添加include pathinfo.conf
location ~ [^/]\.php
{
# try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
2、pathinfo.conf
修改try_files
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
#try_files $fastcgi_script_name =404;
try_files $uri $uri/ /index.php$args;
发表出来,一是做个记录,二是如果有路过大神能解答我为什么去不掉index.php也行,谢谢各位观看啦。