【发布时间】:2021-06-11 03:28:04
【问题描述】:
Ubuntu 16.04.5 LTS Xenial 4.18.8-x86_64-linode117
nginx version: nginx/1.10.3 (Ubuntu)
php v7.0.32-0ubuntu0.16.04.1`
/etc/nginx/sites-available/default
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
/var/www/html 没有符号链接
Worx well....
但我似乎无法弄清楚如何更改 phpmyadmin 网址。
尝试在 /var/www/html 下创建符号链接 whatever ->/usr/share/phpmyadmin 或 whatever ->/usr/share/phpmyadmin/ 不起作用,
即使我将/etc/nginx/sites-available/default 更改为:
location /whatever {
root /usr/share/phpmyadmin/;
如上所述创建符号链接,重新启动 nginx 和 php7.0-fpm 仍然是新 URL 尝试下载页面...
在网上查找了不同的资源,但没有帮助:
digitalocean's guide
devanswers guide
以及SO 上的其他人,但找不到解决方案。
想法??
更新
来自Richard Smith的评论
location /whatever {
alias /usr/share/phpmyadmin;
index index.php index.html index.htm;
if (!-e $request_filename) { rewrite ^ /phpmyadmin/index.php last; }
# Secure phpMyAdmin Instance
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/.your_pass_file;
client_max_body_size 68M;
location ~ ^/phpmyadmin/(.+\.php)$ {
if (!-f $request_filename) { return 404; }
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
alias /usr/share/phpmyadmin;
}
}
【问题讨论】:
-
您需要使用
alias而不是root。有关示例,请参见 this answer。 -
@RichardSmith 我用修改后的服务器块更新了问题仍然
nginx给403 Forbidden...
标签: nginx