鍍金池/ 問答/Linux/ nginx針對不同二級目錄設(shè)置不同404頁面

nginx針對不同二級目錄設(shè)置不同404頁面

在nginx里, 我想實現(xiàn)同個域名下不同二級目錄顯示不同的404頁面, 例如訪問xxx.com/a/vckahvca.htmlxxx.com/b/jklfajlkva.html這兩個不存在頁面時, 顯示不同的404頁面。

我試過通過設(shè)置二級域名的404, 并且將二級域名301跳轉(zhuǎn)至二級目錄, 但是發(fā)現(xiàn)并沒有實現(xiàn)404頁面功能

server {
  listen 80;
  server_name m.xxx.com;
  access_log off;
  index index.html index.htm;
  root /data/wwwroot/xxx/m;

  error_page 404 /404.html;

  rewrite ^(.*)$ http://xxx/m$1 permanent;
}

麻煩大家?guī)兔Ψ治鱿? 謝謝

回答
編輯回答
玄鳥

已找到答案, 方法如下

server {
    listen       80;
    server_name  localhost;
    
    location /a/ { #a目錄的404設(shè)置
        error_page 404 /err1.html;
    }
    
    location /b/ { #b目錄的404設(shè)置
        error_page 404 /err2.html;
    }
    
}
2017年6月25日 04:10
編輯回答
夢囈
server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location /app {
        error_page 404 /err1.html;
    }
    location /loc {
        error_page 404 /err2.html;
    }
    location = /err1.html {
        root /usr/share/nginx/html;
    }
}
2018年2月27日 19:45