404 /phpmyadmin 与 Nginx 和 Debian 8 杰西
Posted
技术标签:
【中文标题】404 /phpmyadmin 与 Nginx 和 Debian 8 杰西【英文标题】:404 /phpmyadmin with Nginx and Debian 8 jessie 【发布时间】:2018-10-03 16:20:19 【问题描述】:我找到了很多答案,但没有一个能解决我的问题:
我尝试访问 /phpmyadmin,但我使用 nginx 1.6.2、PHP7.0 和 Debian 8 (Jessie) 登陆 404。
这是我的 /etc/nginx/site-available/guillaume-rz.fr:
server
listen 80;
root /home/guillaume-rz/www;
server_name www.guillaume-rz.fr;
location /
index index.php;
location /phpmyadmin
root /usr/share/phpmyadmin;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php7.0-fpm.sock; # or 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$
root /usr/share/;
location /phpMyAdmin
rewrite ^/* /phpmyadmin last;
location ~ \.php$
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# include /etc/nginx/fastcgi_params;
# fastcgi_index index.php;
我安装了 PhpMyAdmin,它可以在这里找到:/var/www/phpmyadmin/
我创建了一个符号链接:ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin
【问题讨论】:
你能分享任何来自 ngnix 的日志吗?我不确定,但我认为您没有指向正确的根...尝试将root /usr/share/phpmyadmin;
更改为 root /var/www/phpmyadmin/;
不,它不适用于root /var/www/phpmyadmin/;
我检查了 /var/log/nginx/access.log 中的日志,但对此一无所知。 error.log 也一样。
【参考方案1】:
目前,您的 PHP 脚本正在由最后一个 location
块处理,即使它们以 /phpmyadmin/
开头。正则表达式location
块优先于前缀location
块在同一级别。详情请见this document。
使用^~
修饰符改变优先顺序,例如:
location ^~ /phpmyadmin
root /usr/share;
index index.php index.html index.htm;
location ~ \.php$
try_files $uri =404;
fastcgi_pass unix:/var/run/php7.0-fpm.sock; # or 127.0.0.1:9000
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
【讨论】:
以上是关于404 /phpmyadmin 与 Nginx 和 Debian 8 杰西的主要内容,如果未能解决你的问题,请参考以下文章
phpMyAdmin 显示 404 未找到(Ubuntu 18.04 Nginx)
SSL 的 phpMyAdmin 页面 404 Not Found [Nginx + Centos7.5]