如果 xxx 匹配ooo 并且
如果 xxx2 匹配ooo 并且
那么 xxx3的访问 应该变为 xxx4
举个例子:
RewriteCond %{REQUEST_URI} ^.*$ RewriteCond %{REQUEST_URI} ^/(?!pic).*$ RewriteRule ^(.*)$ /frontend/web/$1
代码解释:
如果 字符串 %{REQUEST_URI} 是 除 " "以外的字符开头,并且出现零次或多次,并且除 " "以外的字符结尾
如果 字符串 %{REQUEST_URI} 是以 / 开头 并且斜杠之后不是 pic字符 并且以除 " "以外的字符结尾
那么 当前请求的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