大家都知道Nginx是网站配置中最灵活的部分,也是一般网站中必不可少的利器。
nginx 的路由分配, 都是Location。Location支持正则表达式匹配,也支持条件匹配,用户可以通过location指令实现Nginx对动丶静态网页的过滤处理
location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
下面说一下nginx的 location配置的问题
root 目录配置
location /proxy {
root /home/html;
index index.html index.htm;
deny all;
}
以前一直以为指的是/home/html 目录下的 index.html
应该是/home/html/proxy 目录下的 index.html
解决办法就是 root 目录后面加上"/" 即 root /home/html/
alias 虚拟目录配置
location /proxy {
alias /home/html;
}
alias 指定的目录是准确的, 即location匹配访问的path目录下的文件直接是在alias目录下查找的;
使用alias标签的目录块中不能使用rewrite的break(具体原因不明);另外,alias指定的目录后面必须要加上"/"符号
最后
root目录配置中,location匹配的path目录后面带不带"/",都不会影响访问。
alias中 location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
标签: nginxnodeJsjs部分服务器serve