Nginx尝试从两个不同的目录服务

时间:2017-04-03 17:48:17

标签: nginx

我正在尝试从位于web-root文件夹中的两个单独的文件夹中提供wordpress应用程序和静态站点。

/usr/local/nginx/html <- Root
/usr/local/nginx/html/application/wordpress/wordpress-files*
/usr/local/nginx/html/files/static-site-files* 

目标:我想优先考虑/ application /中的文件,并在尝试/ files /之前先查看。如果在/ application /中找不到该文件,请从/ files /查找并提供服务。

我一直在阅读try_files,这似乎是要走的路,但我没有成功。

我尝试了以下位置块...

    location / {
            index index.php index.html index.htm;
            root /usr/local/nginx/html;
            try_files /application$uri /application$uri/ /files$uri /files$uri/ =404;
    }

主要是有效,但有一些问题。

如果我访问http://serverip.com/wordpress/,wordpress网站会显示,但如果我访问http://serverip.com/wordpress,它会重定向到/ application / wordpress /。

另一个问题是,如果我访问http://serverip.com,由于nginx在不允许的情况下尝试列出目录,我会收到一个禁止的错误。 我理解为什么会这样,( / application $ uri / 查找不存在的索引文件,因此它会尝试显示目录​​,而不是转到/ files $ uri)但是这样不是我想要的行为。我希望nginx回到查看/ files /.

try_files是否适合我的用例?

由于

0 个答案:

没有答案