我正在尝试从位于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是否适合我的用例?
由于