nginx 里面add_after_body和add_before_body后面的路径解释
问题描述
我在排查美化目录的文件找不到提示我4040的原因时(上一篇博客 解决美化 nginx 自动文件目录时出现上下两个界面,其中下面一个界面是404 有提到),想知道 add_after_body
和 add_before_body
后面的路径到底是基于谁的。
答案
通过查阅资料发现是基于 root 的,比如下面的例子 location /share
配置里面我的 add_after_body
的实际路径为 /usr/share/nginx/html/autoindex/footer.html
server {
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location /share {
root /usr/share/nginx/html;
index index.html index.htm;
charset utf-8;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
autoindex_format html;
add_after_body /autoindex/footer.html;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
charset utf-8;
}
}
也正是因为这样的特性,我才可以把我的目录美化文件放在根目录/usr/share/nginx/html
下,真正要共享的文件放也在根目录下,实现美化文件和我想要分享的文件分离,文件结构如下
/usr/share/nginx/html
|—share
| |—想分享的文件|—autoindex
| |—footer.html