问题描述
该笔记将记录:在 Nginx 中,处理请求地址(URL)的多种方法,比如重定向、重映射地址等等,以及常见问题处理。
解决方案
针对某个地址,返回固定文件
当访问 http://example.com/file.txt 地址时,我们希望返回 foo.txt 文件:
location /robots.txt { alias /home/www/static/any-filename.txt; } location /robots.txt { root /home/www/static/; }
将特定目录的内容映射到 location 路径中
当访问 http://example.com/tmp-mirror 地址时,显示 /tmp 目录下内容
server { ... location /tmp-mirror/ { alias /tmp; } ... }
注意事项,如果这里使用 root /tmp; 指令,则将访问 /tmp/tmp-mirror 目录。
针对不同 Basic Auth 信息,访问不同用户目录
server { location / { auth_basic "Please Login"; auth_basic_user_file "/etc/nginx/htpasswd"; root /var/www/sites/mysite.com/http/$remote_user; } }
参考文献
webserver – Configure nginx with multiple locations with different root folders on subdomain – Stack Overflow
Nginx – root versus alias, for serving single files? – Server Fault