翼度科技»论坛 云主机 服务器技术 查看内容

nginx 常用指令 try_files allow root alias的使

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
正则匹配条件


    1. ~
    复制代码
    为区分大小写匹配
    1. ~*
    复制代码
    为不区分大小写匹配
    1. !~
    复制代码
    1. !~*
    复制代码
    分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:


    1. -f
    复制代码
    1. !-f
    复制代码
    用来判断是否存在文件
    1. -d
    复制代码
    1. !-d
    复制代码
    用来判断是否存在目录
    1. -e
    复制代码
    1. !-e
    复制代码
    用来判断是否存在文件或目录
    1. -x
    复制代码
    1. !-x
    复制代码
    用来判断文件是否可执行

flag标记


    1. last
    复制代码
    相当于Apache里的[L]标记,表示完成rewrite
    1. break
    复制代码
    终止匹配, 不再匹配后面的规则
    1. redirect
    复制代码
    返回302临时重定向 地址栏会显示跳转后的地址
    1. permanent
    复制代码
    返回301永久重定向 地址栏会显示跳转后的地址
  1. 变量名        功能
  2. $host        请求信息中的 Host,如果请求中没有Host行,则等于设置的服务器名
  3. $request_method        客户端请求类型,如 GET、 POST
  4. $remote_addr        客户端的 IP地址
  5. $args        请求中的参数
  6. $content_length        请求头中的 Content-length字段
  7. $content_type        请求头中的 Content-Type字段
  8. $http_user_agent        客户端agent信息
  9. $http_cookie        客户端cookie信息
  10. $remote_addr        客户端的IP地址
  11. $remote_port        客户端的端口
  12. $server_protocol        请求使用的协议,如HTTP/1.0、·HTTP/1.1
  13. $server_addr        服务器地址
  14. $server_name        服务器名称
  15. $server_port        服务器的端口号
  16. $document_root        针对当前请求的根路径设置值
  17. $uri        请求的URI,可能和最初的值有不同,比如经过重定向之类的
  18. $document_uri        与$uri相同
  19. $limit_rate        对连接速率的限制
  20. $request_uri        请求的URI,带查询字符串
  21. $query_string        与$args相同
  22. $scheme        所用的协议,http或者是https
复制代码
root和alias



指令使用
  1. location /i/ {
  2.     root /data/w3;
  3.     # 为请求设置根目录
  4. }
  5. # 访问 /i/test.jpg 实际查找的路径为 /data/w3/i/test.jpg

  6. location /i/ {
  7.     alias /data/w3/;
  8.     # 为请求设置指定位置的替换
  9. }
  10. # 访问 /i/test.jpg 实际查找的路径为 /data/w3/test.jpg
复制代码
root指定目录,路径为 root + $uri
alias指定目录 路径为 alias + 资源名

其它区别


  • alias 只能作用在location中,而root可以存在server、http和location中。
  • alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 “/” 可有可无。
  • 如果别名是在用正则表达式定义的位置中使用的,那么这种正则表达式应该包含捕获,别名应该引用这些捕获 ,例如:
    1. location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ {
    2.     alias /data/w3/images/$1;
    3. }
    复制代码
  • 能用root实现的不要用alias

allow和deny

指令使用

访问控制指令
  1. # 访问控制
  2. location / {
  3.     allow xx.xx.xx.xx;
  4.     allow 10.1.0.0/16;
  5.     allow 192.0.0.0/8;
  6.     allow 172.0.1.0/24;
  7.     # allow all;
  8.     deny all;
  9. }
  10. # 执行时 从上到下,匹配到就跳出
复制代码
try_files

try_files指令说明
try_files指令
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location
其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个
  1. 内部重定向
复制代码
到最后一个参数。
需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么
  1. $args
复制代码
不会自动保留,如果你想保留
  1. $args
复制代码
,则必须明确声明。
  1. try_files $uri $uri/ /index.php$is_args$args;
复制代码
到此这篇关于nginx 常用指令 try_files allow root alias的使用的文章就介绍到这了,更多相关nginx try_files allow root alias内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/server/3265474xe.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具