Nginx 无法将 URL 映射到根目录之外的目录

Nginx 无法将 URL 映射到根目录之外的目录

我有一个运行良好的 PHP 网站。现在我需要添加/adminer/映射到根目录之外的目录的 URL,并且我有一个index.php需要执行的文件。我有以下配置(Debian 9.7):

server {
    listen 80;

    root /home/usr/www/xxx.xxx/web/app/www;
    index index.php;

    server_name xxx.xxx;

    location /adminer {
        root /home/usr/www/xxx.xxx/web/adminer;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/xxx.xxx.php7.0-fpm.socket;
    }
}

我每次打开http://xxx.xxx/adminer/总是出现 404。我尝试了一个多小时的不同配置,但找不到可行的方法。谢谢

答案1

基于Richard Smith 的评论,这是一个有效的配置:

server {
    listen 80;

    root /home/usr/www/xxx.xxx/web/app/www;
    index index.php;

    server_name xxx.xxx;

    location /adminer {
        root /home/usr/www/xxx.xxx/web;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/xxx.xxx.php7.0-fpm.socket;
        }
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/xxx.xxx.php7.0-fpm.socket;
    }
}

相关内容