开头那句话最重要,Rewriterule是在.htaccess文件中配置的,而RewriteMap不是在.htaccess文件中配置。
2017-12-01
重定向原理:
1、apache收到一个url请求
2、判断是否开启了Rewrite模块,没有就直接访问服务器资源
3、有的话就进入第一条RewriteRule,检查是否能匹配上,匹配到的话就检查这条RewriteRule上面有没有RewriteCond,没有的话就进行替换,把url重定向,进入下一条RewriteRule
1、apache收到一个url请求
2、判断是否开启了Rewrite模块,没有就直接访问服务器资源
3、有的话就进入第一条RewriteRule,检查是否能匹配上,匹配到的话就检查这条RewriteRule上面有没有RewriteCond,没有的话就进行替换,把url重定向,进入下一条RewriteRule
2017-09-24
4、如果RewriteRule(1)之上有RewriteCond的话,就要先判断是否满足该条RewriteCond的条件,不满足就直接不替换(重写)url,进入下一条RewriteRule(2)(就是RewriteRule(1)就等于没生效了),如果也满足了RewriteCond,还得判断这条RewriteRule(1)有没有其他的RewriteCond,有的话要全部满足,才进行替换(重写)rul
2017-09-24
5、经过RewriteRule处理之后分两种情况,如果url没发生改变(就是没被重写过),那就直接访问服务器资源,如果url改变了(被重写了),那就再分两种情况:第一种、跳到外部地址(例如:https://www.baidu.com)那就直接跳过去;第二种、还是跳回这个服务器,那就再走一次此流程(从1、开始)直到url经过所有RewriteRule后不改变,就可以访问资源了
2017-09-24