開頭那句話最重要,Rewriterule是在.htaccess文件中配置的,而RewriteMap不是在.htaccess文件中配置。
2017-12-01
重定向原理:
1、apache收到一個url請求
2、判斷是否開啟了Rewrite模塊,沒有就直接訪問服務(wù)器資源
3、有的話就進入第一條RewriteRule,檢查是否能匹配上,匹配到的話就檢查這條RewriteRule上面有沒有RewriteCond,沒有的話就進行替換,把url重定向,進入下一條RewriteRule
1、apache收到一個url請求
2、判斷是否開啟了Rewrite模塊,沒有就直接訪問服務(wù)器資源
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、經(jīng)過RewriteRule處理之后分兩種情況,如果url沒發(fā)生改變(就是沒被重寫過),那就直接訪問服務(wù)器資源,如果url改變了(被重寫了),那就再分兩種情況:第一種、跳到外部地址(例如:https://www.baidu.com)那就直接跳過去;第二種、還是跳回這個服務(wù)器,那就再走一次此流程(從1、開始)直到url經(jīng)過所有RewriteRule后不改變,就可以訪問資源了
2017-09-24