nginx root指向错误的文件夹

时间:2012-05-21 15:35:32

标签: nginx

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

我很乐意将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

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这很容易。

Nginx会附加到root指令$document_root$uri的位置。
您可以改为使用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不起作用,因为它不是静态内容。
我相信,你需要指定php里面的位置/ phpmyadmin:
location ~ /phpMyAdmin/\.php$