![Nginx:如何重写错误页面的路径?](https://linux22.com/image/777676/Nginx%EF%BC%9A%E5%A6%82%E4%BD%95%E9%87%8D%E5%86%99%E9%94%99%E8%AF%AF%E9%A1%B5%E9%9D%A2%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
我有一个/api
包含 HTTP 授权的位置。我希望在授权失败时显示 401 页面。
这是我的文件结构(如果它很重要,我在 Windows 上运行 nginx)
nginx
|─html
|
| 401.html
|
|─40x_files
|
| script.js
| styles.css
这是我的配置
server {
listen 80;
server_name example.com;
error_page 401 /401.html;
location = /401.html {
auth_basic off;
root html;
}
location /api {
auth_basic "Restricted area";
auth_basic_user_file ../conf/conf.d/htpasswd;
proxy_pass http://127.0.0.1:8080/api;
}
}
我有两个问题
如果我只是
example.com/401.html
在浏览器中输入,我会收到一个错误,提示无法访问40x_files
文件夹中的文件(此处是401.html
页面文件)如果我的授权失败,那么由于某种原因我会被重定向到此路径
api/40x_files/script.js
,我该如何将其恢复到正确状态?
我想我需要做某种事情rewrite
,但我真的不明白如何正确安排