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正常工作,您需要使用嵌套的位置
。看,太棒了!这正是我需要的。非常非常感谢!