如何写 rewrite/转发/伪静态规则

如何写 rewrite/转发/伪静态规则

A:1) ACE 使用的是 Nginx 配置语法, 假设一个规则为:rewrite \^(.+)$ /index.php?q=$1 last; 那么转化为 ACE 的配置则为: (复制代码后注意格式对齐, 否则会启动失败)rewrite: - url: \^(.+)$ script: /index.ph...

位置:首页 > 动态 > 技术文档 > 如何写 rewrite/转发/伪静态规则

如何写 rewrite/转发/伪静态规则

A:

1) ACE 使用的是 Nginx 配置语法, 假设一个规则为:

rewrite \^(.+)$ /index.php?q=$1 last;

 

那么转化为 ACE 的配置则为: (复制代码后注意格式对齐, 否则会启动失败)

rewrite:
  - url: \^(.+)$
    script: /index.php?q=$1 last # 注意没有 ";"

 

2) 排除一些路径和文件类型的写法 (复制代码后注意格式对齐, 否则会启动失败)

  • 非index.php开头的网址,排除三种情况后转到index.php

  • index.php 开头的网址

  • css/,img/,js/,lib/,sjxq/ 目录开始的网址

  • ****.php 形式的网址,以支持根目录下的php文件访问

3) 常用的 apache 的转发规则,如:

RewriteCond %{REQUEST_FILENAME} \!-f
RewriteCond %{REQUEST_FILENAME} \!-d
RewriteRule \^(.*)$ index.php [L,QSA]

 

改写为 ACE 时可以直接用 tryuri: (复制代码后注意格式对齐, 否则会启动失败)

tryuri:
- path: /
 script: /index.php

 

4) 外部跳转 (复制代码后注意格式对齐, 否则会启动失败)

rewrite:
- url: \^/1.gif$
 script: [http://***.com] perment

 

5) ThinkPHP 常用规则, 实现 /index.php/aa/bb 优化成 /aa/bb , 记得要重启(不仅是重新发布)应用 (复制代码后注意格式对齐以及去掉多余空格, 否则会启动失败)

rewrite:
- url: \^(/(?\!(\.)).*)$
 script: /index.php/$1 last

 

这个规则只是抛砖引玉, 完全和 nginx 一致


关键词:

上一篇: 贵州医科大学

下一篇: 如何把.htaccess文件转换成httpd.cof、httpd.ini或web.config

版权所有www.Zding.cn © 2017 贵州钟鼎网络科技有限责任公司 版权所有. 黔ICP备11002213号
贵阳遵义黔西南0851-82216110
观望只会错过创造美好的机会
线上服务咨询 0851-82216110 填写需求索取报价