伪静态规则解析

发布时间 2023-04-12 15:16:47作者: 珊瑚贝博客

一、Nginx:

https://blog.csdn.net/zzhongcy/article/details/86086369

 

二、apache:

https://www.cnblogs.com/baker95935/p/9791231.html

 

参数补充说明:

1、RewriteEngine 为重写引擎开关,on为开启,off为关闭。

2、RewriteRule 是路由转向规则,之前路径为浏览器中要输入路径,这里可以用正则表达式表达。+空格 后路径为后台实际转向路径。

3、转向后台实际路径时可以传参数,$1 代表浏览器路径中输入的第一个正则表达式的值,以此类推,$2代表第二个正则表达式的值。

4、RewriteRule 路由转向规则里正则表达式用括号 () 括起来。

5、在RewriteRule写法中,^表示语句开始,$ 表示语句的结束,L 表明当前规则是最后一条规则,停止分析以后重写,NC表示不区分大小写,QSA表示追加请求的字符串。

RewriteRule规则表达式的说明:
. 匹配任何单字符
[chars] 匹配字符串:chars
[^chars] 不匹配字符串:chars
text1|text2 可选择的字符串:text1或text2
? 匹配0到1个字符
* 匹配0到多个字符
+ 匹配1到多个字符
^ 字符串开始标志
$ 字符串结束标志
\n 转义符标志

6、补充Apache mod_rewrite规则重写的标志说明:

1) R[=code](force redirect) 强制外部重定向
强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。
2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。
3) G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
4) P(force proxy) 强制使用代理转发。
5) L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N(next round) 重新从第一条规则开始运行重写过程。
7) C(chained with next rule) 与下一条规则关联
如果规则匹配则正常处理,该标志无效,如果不匹配,那么下面所有关联的规则都跳过。
8) T=MIME-type(force MIME type) 强制MIME类型
9) NS (used only if no internal sub-request) 只用于不是内部子请求
10) NC(no case) 不区分大小写
11) QSA(query string append) 追加请求字符串
12) NE(no URI escaping of output) 不在输出转义特殊字符