Php 如何使用NGINX跳过URI中的目录?

Php 如何使用NGINX跳过URI中的目录?,php,url,nginx,uri,nginx-location,Php,Url,Nginx,Uri,Nginx Location,我看到了,但这似乎与这个问题无关 我的情况是,我的网站上有一个名为mywebsite.com/indev/dist的目录(因为dist是构建文件夹)。我希望mywebsite.com/indev/dist中的所有文件都能像dist文件夹根本不存在一样出现和工作 例如,如果我请求mywebsite.com/indev/index45.php,则该文件将位于/indev/dist/index45.php 以下是我迄今为止所尝试的: location ~ .*\/indev\/dist.* { t

我看到了,但这似乎与这个问题无关

我的情况是,我的网站上有一个名为
mywebsite.com/indev/dist
的目录(因为
dist
是构建文件夹)。我希望
mywebsite.com/indev/dist
中的所有文件都能像
dist
文件夹根本不存在一样出现和工作

例如,如果我请求
mywebsite.com/indev/index45.php
,则该文件将位于
/indev/dist/index45.php

以下是我迄今为止所尝试的:

location ~ .*\/indev\/dist.* {
  try_files $uri $uri/ =404;
}

location ~ .*\/indev.* {
  rewrite ^\/indev\/(.*) /indev/dist/$1 break;
}

这样做很好,但有一个主要缺点:php文件不会运行,它们会转到原始地址,而原始地址会返回404。是否有任何方法可以在使用NGINX配置时不存在任何重大缺陷(或必须制定不必要的规则(例如,仅处理php文件)?

所有uri都以
/indev
开头?因此,您要做的是将别名
/indev/
转换为
/indev/dist/
。要使PHP正常工作,您需要使用嵌套的
位置
。看,太棒了!这正是我需要的。非常非常感谢!