我 LNMP 环境安装 Nextcloud,因为要设置伪静态,所以根据官方文档做了以下配置:
location = /phpmyadmin {
root /var/www/html/nextcloud;
index index.html index.htm index.php;
}
location / {
rewrite ^ /index.php$request_uri;
}
我想通过 nginx 访问 phpmyadmin 来管理 mysql,但是我访问 http://localhost/phpmyadmin 时,Nginx 会报 404 错
误(默认 webroot 是 /var/www/html/nextcloud ),想请教下 location 应该怎么配置才能正确访问到 phpmyadmin
t美国服务器ail /var/log/nginx/error.log 查看错误信息,报错如下:
"/usr/share/nginx/html/pma/index.html" is not found (2: No such file or directory)
看不懂你的规则想表达什么,location / 下面访问哪个目录了?还有 location /phpMyAdmin 居然是 nextcloud 文件夹。
phpmyadmin 指向 nextcloud ?
location = /phpmyadmin
改为
location /phpmyadmin
我创建了 default.conf,root 指定的 var/www/html/nextcloud,所以 phpmyadmin 放置在上面的 root 目录内( var/www/html/nextcloud/phpmyadmin )我想通过 http://localhost/phpmyadmin 访问管理 mysql
我创建了 default.conf,root 指定的 var/www/html/nextcloud,所以 phpmyadmin 放置在上面的 root 目录内( var/www/html/nextcloud/phpmyadmin )我想通过 http://localhost/phpmyadmin 访问管理 mysql,默认通过 http://localhost 现在是可以访问 nextcloud 的,但是访问 phpmyadmin 就不行
我不清楚,这个样子我感觉有可能不仅是这两个规则影响,= 也可以去掉,错误日志和规则表现完全不一样…
1. root 或者 alias 可以直接改 root 地址。你可以在 location /phpmyadmin {} 段里面直接 alias 到另一个目录,不需要把 PMA 复制进 NC 里。(而且复制进 NC 是很不好的习惯。)
2. root 和 index 一般是放在 server 段里的,而不是放在 location 段里的。
3. 如上面所说,location 后面的等号要去掉。有等号说明只匹配 /phpmyadmin 而不匹配目录和其中的文件。
先谢谢你的回复,我试过了不行。
你先把 root 挪到 location 外面来试试
配置里 server 段已经定义了 root 目录(/var/www/html/nextcloud ),但是还是无法正常访问,所以我 google 了类似的案例,得到的这段 /phpmyadmin 的代码
这样的话,我是不是重新开个 vhost 来访问 phpmyadmin 的意思?因为现在 default 我用 NC 目录作为 webroot 目录了。
root /xxx/netcloud
location /pma { alias /yyy/pma; }
顺便,不要把 phpmyadmin 作为目录的名字,除非你想让别人猜到目录名然后爆破你的数据库密码。
我用了 alias 还是不行,我上传了完整的配置文档,麻烦您帮忙看下是哪里有问题,谢谢。
location /pma {
alias /var/www/html/pma/;
}
注意最后的斜杆
也是不行,我就郁闷了。
pma 也是被害重地啊,最好起个完全无关的名字,让人联想不到是 pma 的最好。
然后我先问一句,你改了配置以后重启过 nginx 么?
以及你说的不行是怎么个不行? 403 ? 404 ?还是什么。
我改完配置都会执行 systemctl reload nginx.service 打开 http://localhost/pma 都是报 404
需要注意 location 的匹配优先级,匹配.php 的正则优先于普通前缀匹配 /pma 了
你可以把 phpmyadmin 做成跟 pma 一样啊,放到。
location /pma {
alias /var/www/html/pma;
}
放到 /var/www/html/phpmyadmin
我现在已经把 phpmyadmin mv 为 pma 了的,但是打开还是 404 报错,可能就像上面那位朋友说的匹配优先级问题?