3

不认为这是一个复杂的问题,但我没有解决它。

我很乐意将 www.mydomain.com/phpMyAdmin/ 指向 /var/www/phpMyAdmin/htdocs/

我这样做了:

server {
    listen 80;
    server_name     localhost;

    location /phpMyAdmin {
            root    /var/www/phpMyAdmin/htdocs/;

            index   index.php;

            #access_log      /var/www/phpMyAdmin/logs/access.log;
            #error_log       /var/www/phpMyAdmin/logs/error.log;
    }

    location ~ \.php$ {
            include fastcgi_params;
            try_files $uri =404;
            fastcgi_pass unix:/var/www/sockets/www.socket;
    }
}

但是调用 www.mydomain.com/phpMyAdmin 时的结果是它试图调用

/var/www/phpMyAdmin/htdocs/phpMyAdmin/index.php

任何人都可以帮助我吗?

4

1 回答 1

0

这很容易。

Nginx 将$uri位置附加到root指令($document_root变量)。
您可以改用alias指令:

location /phpMyAdmin {
 index   index.php;
 alias    /var/www/phpMyAdmin/htdocs/;
 access_log      /var/www/phpMyAdmin/logs/access.log;
 error_log       /var/www/phpMyAdmin/logs/error.log;
}

但是,phpMyAdmin 将不起作用,因为它不是静态文件。
我相信,您需要在 /phpmyadmin 中指定 php 的位置:
location ~ /phpMyAdmin/\.php$

于 2015-07-01T07:17:26.530 回答