nginx 常用指令 try_files allow root alias的使用
正则匹配条件
~为区分大小写匹配~*为不区分大小写匹配!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配,其中:
-f和!-f用来判断是否存在文件-d和!-d用来判断是否存在目录-e和!-e用来判断是否存在文件或目录-x和!-x用来判断文件是否可执行
flag标记
last相当于Apache里的[L]标记,表示完成rewritebreak终止匹配, 不再匹配后面的规则redirect返回302临时重定向 地址栏会显示跳转后的地址permanent返回301永久重定向 地址栏会显示跳转后的地址
变量名 功能 $host 请求信息中的 Host,如果请求中没有Host行,则等于设置的服务器名 $request_method 客户端请求类型,如 GET、 POST $remote_addr 客户端的 IP地址 $args 请求中的参数 $content_length 请求头中的 Content-length字段 $content_type 请求头中的 Content-Type字段 $http_user_agent 客户端agent信息 $http_cookie 客户端cookie信息 $remote_addr 客户端的IP地址 $remote_port 客户端的端口 $server_protocol 请求使用的协议,如HTTP/1.0、·HTTP/1.1 $server_addr 服务器地址 $server_name 服务器名称 $server_port 服务器的端口号 $document_root 针对当前请求的根路径设置值 $uri 请求的URI,可能和最初的值有不同,比如经过重定向之类的 $document_uri 与$uri相同 $limit_rate 对连接速率的限制 $request_uri 请求的URI,带查询字符串 $query_string 与$args相同 $scheme 所用的协议,http或者是https
root和alias
指令使用
location /i/ {
root /data/w3;
# 为请求设置根目录
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/i/test.jpg
location /i/ {
alias /data/w3/;
# 为请求设置指定位置的替换
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/test.jpg
root指定目录,路径为 root + $uri
alias指定目录 路径为 alias + 资源名
其它区别
alias 只能作用在location中,而root可以存在server、http和location中。
alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 “/” 可有可无。
如果别名是在用正则表达式定义的位置中使用的,那么这种正则表达式应该包含捕获,别名应该引用这些捕获 ,例如:
location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ { alias /data/w3/images/$1; }能用root实现的不要用alias
allow和deny
指令使用
访问控制指令
# 访问控制
location / {
allow xx.xx.xx.xx;
allow 10.1.0.0/16;
allow 192.0.0.0/8;
allow 172.0.1.0/24;
# allow all;
deny all;
}
# 执行时 从上到下,匹配到就跳出
try_files
try_files指令说明
try_files指令
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location
其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。
try_files $uri $uri/ /index.php$is_args$args;
到此这篇关于nginx 常用指令 try_files allow root alias的使用的文章就介绍到这了,更多相关nginx try_files allow root alias内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇:如何解决1130 - Host ‘172.17.0.1‘ is not allowed to connect to this MySQL server的问题
栏 目:其它服务器
本文标题:nginx 常用指令 try_files allow root alias的使用
本文地址:https://zz.feitang.co/server/28374.html
您可能感兴趣的文章
- 01-12Docker部署rabbitmq遇到的两个问题
- 01-12最新虚拟机VMware 14安装教程
- 01-12使用docker compose安装harbor私有仓库的详细教程
- 01-12Windows下Docker安装各种软件的详细过程
- 01-12seata docker 高可用部署的详细介绍
- 01-12浅谈Tomcat多层容器的设计
- 01-12Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
- 01-12解决vscode docker插件docker.socket权限问题
- 01-12Docker中运行PostgreSQL并推荐几款连接工具
- 01-12Docker核心原理之 Cgroup详解


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 12-05Docker安装Jenkins全过程
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法




