IT技术博客大学习 共学习 共进步

rewrite 用法点滴

PHPor 的Blog 2010-05-17 13:15:40 浏览 2,963 次
1. 多个连续的RewriteCond 直接默认是“与”的关系,可以通过 [OR]来说明是“或”的关系, RewriteCond只作用于紧接着的一个RewriteRule

2.
RewriteCond的flag有两个可选值: NC: 不区分大小写; OR:表明是“或”的关系

3.
RewriteRule的flag常见值有两个:
   [P]: 说明
立即中断重写处理,然后把处理移交给mod_proxy模块, 如果说立即中断重写处理,则[P,L] 中的L又有什么意义呢?
   [L]: 相当于break,不要再继续匹配了,如果这条规则匹配上了,则这就是最后一个匹配了
  不常见的几个flag:
   [N]: 相当于continue,用当前已经重写好的url再从头开始继续匹配;这样写很难理解,所以很少有这样用的。
   [F]: 禁止访问
   [R]: 强制重定向,而不是直接代理,对于下面情况R就是多余的,因为没有P标记,则一定是强制重定向:
              ^/somepath(.*) http://otherhost/otherpath$1 [R]
        对于:
         ^/somepath(.*) /otherpath$1 [R]
             如果没有R,则执行内部重定向,特殊情况下,我们可能通过使用R来强制外部重定向,或者我们
        就是希望做一定永久重定向,可以写成如下形式:
        ^/somepath(.*) /otherpath$1 [R=301]

建议继续学习

  1. Bo-Blog 2.1.1 的 Nginx Rewrite 规则[原创] (阅读 7,382)
  2. Apache、resin、rewrite泛域名、多域名设置 (阅读 5,045)
  3. 让盗链图片显示我们的广告 (阅读 3,844)
  4. 启用Mod Rewrite和.htaccess (阅读 3,761)
  5. nginx 利用 rewrite 屏蔽IE浏览器 (阅读 3,563)
  6. nginx中location的匹配和rewrite (阅读 3,283)