【问题标题】:nginx change phpmyadmin folder name change errornginx更改phpmyadmin文件夹名称更改错误
【发布时间】:2013-04-04 15:52:53
【问题描述】:

我的 phpmyadmin 设置是这样的

 location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 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;
        }

我希望更改文件夹名称,以便我可以通过 /secure 访问 phpmyadmin

 location /secure {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/secure/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
               }
               location ~* ^/secure/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }

但它一直给我 404 未找到,任何帮助将不胜感激,谢谢

【问题讨论】:

  • 此配置将根据请求查找 /usr/share/secure。
  • 那我该怎么改呢?
  • 我从未真正尝试过。一种简单(但不干净)的可能性是将 /usr/share/secure 符号链接到 /usr/share/phpmyadmin - 但是有更好的解决方案,所以我不会将此作为答案发布。你可以阅读 nginx 文档。
  • 你能发布一个更好的解决方案吗

标签: php apache configuration nginx


【解决方案1】:

在这种情况下你需要使用alias

location /secure/ {
           alias /usr/share/phpmyadmin/;

通过上述设置,对/secure/ 的所有请求都将被丢弃到/usr/share/phpmyadmin/

【讨论】:

    【解决方案2】:

    这样的事情应该可以工作。

    location /secure/ {
        alias /usr/share/phpmyadmin/;
    
        location ~ ^/secure/(.+\.php)$ {
            alias /usr/share/phpmyadmin/$1;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }
    }
    

    【讨论】:

    • 不断将我重定向到登录页面
    【解决方案3】:

    以下工作和测试

    location /pma/ {
        alias /usr/share/phpmyadmin/;
    }
    
    location ~ ^/pma/(.+\.php)$ {
        alias /usr/share/phpmyadmin/$1;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $request_filename;
    
        # From fastcgi_params
        include fastcgi_params;
        fastcgi_param  DOCUMENT_ROOT      /usr/share/phpmyadmin;
    }
    

    关键是设置如下

    fastcgi_param  DOCUMENT_ROOT      /usr/share/phpmyadmin;
    

    这是一个在 fastcgi_params 中获取 se 的变量,但何时低于它就像一个魅力 将两个地方的“pma”更改为您想要的任何内容,它会起作用...不需要符号链接

    干杯

    【讨论】:

      【解决方案4】:

      试试这个:

      location /secure {
          alias /usr/share/phpmyadmin;
          index index.php index.html index.htm;
      
          location ~ ^/secure/(.+\.php)$ {
              alias /usr/share/phpmyadmin/$1;
              fastcgi_split_path_info ^(.+\.php)(/.+)$;
      
              include fastcgi_params;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$1;
              fastcgi_pass php;
          }
      
          location ~* ^/secure/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
              alias /usr/share/phpmyadmin/$1;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 1970-01-01
        • 1970-01-01
        • 2023-02-20
        • 2016-05-03
        相关资源
        最近更新 更多