如何配置nginx,使url显示的文件夹少于实际文件夹?

时间:2018-10-12 18:36:44

标签: nginx

我在Nginx的Node.js上有应用。

打开页面时

domainname.com/somefolder/page.html

它应该在地址栏中显示同一页面

domainname.com/somefolder/page.html

但是page.html可以位于文件夹深处的页面上,例如

morefolder/anotherfolder/…./somefolder

同时我有一些文件夹,这些文件夹位于核心文件夹中,应该从该文件夹中打开。如何解决?

2 个答案:

答案 0 :(得分:0)

您可以通过如下配置nginx来实现:

i-1

您的核心文件夹位于morefolder / anotherfolder / onemorefolder

所有子文件夹和html页面都在其中。

浏览incident_segment = detect_incident(array, start, end); attach(array, incident_segment); store(array, start, incident_segment - 1); process(array, incident_segment + 1, end); 会将其重定向到 server { listen 80; server_name domainname.com www.domainname.com; #root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location /somefolder/page.html { root morefolder/anotherfolder/onemorefolder; } } ,但这对用户是透明的,并且地址栏显示您浏览的同一页面。

答案 1 :(得分:0)

由于我没有确切的文件和文件夹名称,因此我使用了这种结构

location / { 
    try_files $uri /post$uri =404;
}

location /检查未指定的任何URL(即domainname.com/test)。就我而言,它是任何domainname.com/folder/file.html

这样的URL

try_files检查URL(又名$ uri),如果未找到,则转到下一个/post$uri,如果未找到,则显示404页

对于我来说,我打开页面www.domainname.com/folder/file.html会检查它是否存在,不存在,然后它会检查www.domainname.com/post/folder/file.html是否存在并打开它是否存在,否则显示404页