@yanglt7
2018-10-21T15:54:40.000000Z
字数 2247
阅读 793
Web集群实战
| 字符 | 描述 |
|---|---|
| \ | 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n” 匹配字符 “n”。“\n” 匹配一个换行符。序列 “\\” 匹配 “\” 而 “\(” 则匹配 “(” |
| ^ | 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配“\n”或“\r”之后的位置。 |
| $ | 匹配输入字符串的结束位置。如果设置了 RegExp 对象的 Multiline 属性,$ 也匹配 “\n” 或 “\r” 之前的位置 |
| * | 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”, * 等价于{0,} |
| + | 匹配前面的子表达式一次或多次。例如,“zo+” 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于{1,} |
| ? | 匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或 “does” 中的 “do”。? 等价于{0,1} |
| . | 匹配除 “\n” 之外的任何单个字符。要匹配包括 “\n” 在内的任何字符,请使用像 “[.\n]” 的模式 |
| (pattern) | 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在 VBScript 中使用 SubMatches 集合,在 JS 中则使用 $0…$9 属性 |
| flag 标记符号 | 说明 |
|---|---|
| last | 本条规则匹配完成后,继续向下匹配新的 location URI 规则 |
| break | 本条规则匹配完成后,终止匹配,不再匹配后面的规则 |
| redirect | 返回302临时重定向,浏览器地址会显示跳转后的URL地址 |
| permanent | 返回301永久重定向,浏览器地址会显示跳转后的URL地址 |
server {listen 80;server_name yangyangyang.org;rewrite ^/(.*) http://www.yangyangyang.org/$1 permanent;}server {listen 80;server_name www.yangyangyang.org;location / {root html/www;index index.html index.htm;}access_log logs/access_www.log main gzip buffer=32k flush=5s;}
例 1 实现访问 http://blog.yangyangyang.org 时跳转到 http://www.yangyangyang.org/blog/ylt.html。
[root@ylt001 conf]# cd ../html/www[root@ylt001 conf]# mkdir -p blog[root@ylt001 conf]# vi ../html/www/blog/ylt.html[root@ylt001 conf]# cat ../html/www/blog/ylt.htmlhello!
#www virtualhost by yltserver {listen 80;server_name blog.yangyangyang.org;location / {root html/blog;index index.html index.htm;}if ( $http_host ~* "^(.*)\.yangyangyang\.org$") {set $domain $1;rewrite ^/(.*) http://www.yangyangyang.org/$domain/ylt.html break;}}
例 2 实现访问 http://yangyangyang.org/bbs 时跳转到 http://bbs.yangyangyang.org。
#www virtualhost by yltserver {listen 80;server_name www.yangyangyang.org yangyangyang.org;location / {root html/www;index index.html index.htm;}rewrite ^/(.*)/bbs http://bbs.yangyangyang.org break;access_log logs/access_www.log main gzip buffer=32k flush=5s;}
#bbs virtualhost by yltserver {listen 80;server_name bbs.yangyangyang.org;location / {root html/bbs;index index.html index.htm;}}