首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NGiNX自定义路径phpmyadmin

问NGiNX自定义路径phpmyadmin
EN

Stack Overflow用户
提问于 2020-12-31 17:32:50
回答 1查看 187关注 0票数 0

我正在尝试更改phpmyadmin的目录,该目录在我的主webroot中使用单点登录。我有我的Vhost的以下配置。

代码语言:javascript
复制
        listen 80 ;
        listen [::]:80 ;

        root /var/www/html;
        index index.php index.html index.htm ;
        server_name dewittborough.example.com;
       # add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
        location / {
        include "/etc/nginx/custom_wp" ;
            try_files $uri $uri.php $uri/ /phpmyadmin;
    }
   include /etc/nginx/skip_cache.conf ;
   include /etc/nginx/gzip_location.conf ;
   include /etc/nginx/header.conf ;
    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass  unix:/var/run/php/php7.3-fpm.sock;
    include "/etc/nginx/customfastcgi" ;
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    send_timeout 300;
    client_max_body_size 256M;
    include /etc/nginx/fastcgi_main.conf ;
    }
    location = /phpmyadmin {
    root /var/www/;
}
}

如果我将phpmyadmin的目录移到/var/www/,我会得到404 not found。示例登录URL如下所示https://dewittborough.example.com/phpmyadmin/sso.php?&remote_token=ikoblfqshqakinuiqd

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 19:02:05

首先,您使用=符号声明了PMA位置。这意味着当你访问/phpmyadmin时,该位置将只触发。它不会用/phpmyadmin/sso.php触发位置,因为它不等于/phpmyadmin。因此,首先将位置更改为:

代码语言:javascript
复制
location /phpmyadmin/ {
  ...
}

接下来是您的root指令。关于root的一件事是,它将、root和location连接在一起。因此,使用这样的配置:

代码语言:javascript
复制
location /phpmyadmin/ {
  root /var/www;
}

NGINX将在/var/www/phpmyadmin/中查找文件。如果您不喜欢这种行为,可以用alias替换root

代码语言:javascript
复制
location /phpmyadmin/ {
  alias /var/www/; # Beware of this trailing slash (/), it's mandatory.
}

使用此配置,您将能够在/phpmyadmin/下访问index.php和/var/www/中的其他文件。不过要注意,/phpmyadmin/html/会将您带到/var/www/html/。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65519049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档