로그인시 Nginx phpmyadmin이 / phpmyadmin 대신 /로 리디렉션

내 nginx 설치에서 phpmyadmin에 문제가 있습니다.

내가 입력하는 경우 <ServerIP>/phpmyadmin와의 로그, 내가로 리디렉션 <ServerIP>/index.php?<tokenstuff>대신<ServerIP>/phpmyadmin/index.php?<tokenstuff>

Nginx 설정 파일 :

user  nginx;
worker_processes  5;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  2;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

Default.conf :

server {
    listen       80;
    server_name  _;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
    location /phpmyadmin {
    root /usr/share/;
    index index.php index.html index.htm;
    location ~ ^/phpmyadmin/(.+\.php)$ {
        try_files $uri =404;
        root /usr/share/;
        fastcgi_pass unix:/tmp/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
        fastcgi_param PATH_INFO $fastcgi_script_name;
    }

    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/;
    }
}
}

(구성 파일 정리에 대한 일반적인 팁도 허용됩니다)



답변

이것은 nginx 문제처럼 들리지 않습니다. 이것은 phpMyAdmin이 올바르게 설치되지 않은 것 같고 /대신에 있다고 생각합니다 /phpmyadmin. phpMyAdmin 구성을 확인하십시오.


답변

저자가 phpMyAdmin 재설치 문제를 해결했지만 로그인시 리디렉션을 처리하도록 nginx를 올바르게 구성해야합니다.

며칠 후 키보드로 머리를 부딪친 후에 마침내 진정한 해결책을 찾았고이 스레드는 여전히 Google 검색에서 우선 순위가 높으므로 여기에서 공유하고 있습니다.

링크에 명시된 바와 같이 : http://www.samundra.com.np/use-phpmyadmin-with-nginx-and-php7/1374

이 문제를 해결하려면 nginx 기본 사이트에 다음 코드 블록을 추가해야합니다.

sudo nano /etc/nginx/sites-available/default

이 블록을 server블록에 배치하십시오.

# Phpmyadmin Configurations
    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_param HTTPS on; # <-- add this line
               fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               include fastcgi_params;
       }
       location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
               root /usr/share/;
       }
   }

   # Dealing with the uppercased letters
   location /phpMyAdmin {
       rewrite ^/* /phpmyadmin last;
   }

언젠가 누군가에게 도움이되기를 바랍니다 …


답변

이 문제는 PHP-FPM의 현재 경로를 비활성화하는 cgi.fix_pathinfo = 0의 일반적인 구성으로 인해 발생합니다. 빠른 해결책 중 하나는 cgi.fix_pathinfo를 다시 1로 변경하거나 nginx의 가상 서버 블록에서 경로 매개 변수를 설정하는 것입니다.


답변

당신은 문제가 이것과 비슷한 것 같습니다 : https : //.com/questions/1011101/nginx-location-directive-doesnt-seem-to-be-working-am-i-missing-something

그것을 읽고 설정을 변경해도 여전히 문제가 있다면 알려주십시오!


답변

열다:

/var/lib/phpMyAdmin/config.inc.php

더하다:

$cfg['PmaAbsoluteUri'] = 'https://www.example.net/path_to_your_phpMyAdmin_directory/';

참조 :
https://docs.phpmyadmin.net/en/latest/config.html#basic-settings

.


답변

phpmyadmin1.com과 같은 도메인 이름으로 virtaul 호스트를 램프 서버에 추가하십시오.

server {
    #listen 80 default_server;
    #listen [::]:80 default_server ipv6only=on;

    root /var/www/phpmyadmin;
    #some /var/www/html/phpmyadmin
    index index.php index.html index.htm;

    server_name phpmyadmin1.com;

        location / {
        try_files $uri $uri/ /index.php?$args;
     }

    location ~ \.php$ {
        root           /usr/share/nginx/html;
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

호스트 파일 편집

이 줄을 맨 아래에 추가하십시오

192.168.1.xx  phpmyadmin1.com

저장하고 닫은 다음 서버를 다시 시작하십시오.

service nginx restart

service php5-fpm restart

브라우저에서 가상 호스트 URL에 액세스하십시오. phpmyadmin 로그인 페이지를 참조하십시오.

http://screencloud.net/v/nGK5

http://screencloud.net/v/6M8r


답변

이것 만이 나를 위해 일했다

location /utils/phpmyadmin/ {
    try_files $uri $uri/ =404;
    index index.php index.html index.htm
    proxy_set_header Proxy "";
}