Nginx别名/根问题

Nginx新手在这里。

我控制域eample.com,目标是在以下URL上提供三种不同的资源:

  • example.com-静态目标网页
  • example.com/siteA-PHP应用程序A
  • example.com/siteB-PHP应用程序B

我磁盘上的文件结构大致如下:

/var/www
├── html
│   └── index.html
├── siteA
│   └── index.php
└── siteB
    └── public
        └── index.php

我有以下(简化的)Nginx配置

server {
        root /var/www/html;
        index index.php index.html;

        server_name example.com;

        # Site A
        location /siteA {
                #root /var/www/siteA;
                alias /var/www/siteA/;
                include snippets/fastcgi-php.conf;
        }

        # Site B
        location /siteB/ {
                #root /var/www/siteB/public;
                alias /var/www/siteB/public/;
                include snippets/fastcgi-php.conf;
        }
}

包含的文件snippets/fastcgi-php.conf包含以下内容:

location ~ \.php$ {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        try_files $fastcgi_script_name =404;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;

        fastcgi_index index.php;
        include fastcgi.conf;

        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

位于example.com的静态着陆页有效,但是尝试访问example.com/siteA会导致Primary script unknown错误。

PHP-FPM池访问日志包含以下行:

- - 12/Nov/2019:15:57:03 +0200 "GET /siteA/index.php" 404

我相信PHP-FPM试图打开的实际文件路径是/var/www/html/siteA/index.php,这显然是错误的。

我很确定自己搞砸了与root和/或alias指令相关的内容,但是我对此不太了解。

如何在不更改磁盘文件结构的情况下修复我的配置?

任何指针都会受到赞赏。

s20072290 回答:Nginx别名/根问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3116677.html

大家都在问