码迷,mamicode.com
首页 > 数据库 > 详细

.htaccess语法中RewriteCond和RewriteRule意义

时间:2015-12-01 23:04:27      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

如果 xxx 匹配ooo 并且

如果 xxx2 匹配ooo 并且

那么 xxx3的访问 应该变为 xxx4

举个例子:

RewriteCond %{REQUEST_URI} ^.*$
RewriteCond %{REQUEST_URI} ^/(?!pic).*$
RewriteRule ^(.*)$ /frontend/web/$1

代码解释:

如果 字符串 %{REQUEST_URI} 是 除 "\n"以外的字符开头,并且出现零次或多次,并且除 "\n"以外的字符结尾

如果 字符串 %{REQUEST_URI} 是以 / 开头 并且斜杠之后不是 pic字符 并且以除 "\n"以外的字符结尾

那么 当前请求的url 符合规则 ^(.*)$ 就让请求地址变为 /frontend/web/$1

假设:

现在的请求是 www.example.com/index.html

第一条 RewriteCond 是符合的 并且

第二条 RewriteCond 是符合的

根据 RewriteRule 请求应该变为 www.example.com/frontend/web/index.html

在这里 %{REQUEST_URI} 就是 /index.html

php的$_SERVER中就有这个key。

再次假设:

现在的请求是 www.example.com/pic/avatar/x.jpg

第一条 RewriteCond 是符合的

第二条 RewriteCond 是不符合的

RewriteRule 不执行 请求依然是 www.example.com/pic/avatar/x.jpg

 

.htaccess语法中RewriteCond和RewriteRule意义

标签:

原文地址:http://www.cnblogs.com/buexplain/p/5011437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!