.htaccess语法中RewriteCond和RewriteRule意义

如果 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

 

转载于:https://www.cnblogs.com/buexplain/p/5011437.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值