欢迎光临
我们一直在努力

Nginx配置文件Rewrite语法

建站超值云服务器,限时71元/月

Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用(当然并不是说不改动任何东西就拿来使用)。

比如在Apache中这样写规则rewrite^/([0-9]{5}).html$/viewthread.php?tid=$1last;而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号:rewrite“^/([0-9]{5}).html$”/viewthread.php?tid=$1last;一般来说,nginx的rewrite规则可以写在nginx配置文件中的location{}中,也可以针对特定的目录进行location\demo{},这个实例就是针对服务器根目录下的demo目录的rewrite规则配置等等;

nginx的rewrite重写是基于pcre库匹配的,所以会牵涉到一些基本的nginx匹配规则:

nginxrewrite正则表达式匹配

大小写匹配

~为区分大小写匹配

~*为不区分大小写匹配

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配

-f和!-f用来判断是否存在文件

-d和!-d用来判断是否存在目录

-e和!-e用来判断是否存在文件或目录

-x和!-x用来判断文件是否可执行

flag标记

last相当于Apache里的[L]标记,表示完成rewrite

break终止匹配,不再匹配后面的规则。

redirect返回302临时重定向地址栏会显示跳转后的地址。

permanent返回301永久重定向地址栏会显示跳转后的地址。

一些可用的全局变量

可以用在rewrite时的条件判断

$args

$content_length

$content_type

$document_root

$document_uri

$host

$http_user_agent

$http_cookie

$limit_rate

$request_body_file

$request_method

$remote_addr

$remote_port

$remote_user

$request_filename

$request_uri

$query_string

$scheme

$server_protocol

$server_addr

$server_name

$server_port

$uri

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Nginx配置文件Rewrite语法
分享到: 更多 (0)