zoukankan      html  css  js  c++  java
  • .htaccess语法中RewriteCond和RewriteRule意义

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

  • 相关阅读:
    单位换算 M、Mb、MB
    数据库事务原子性、一致性、隔离性、持久性
    进制转换
    SpringBoot application.yum配置
    private 与 super
    sql 字段别名里包含特殊字符
    sql 中的分隔符
    sql 中的注释
    windows Ctrl + Alt + 方向键 取消屏幕反转
    1finally与return、exit()
  • 原文地址:https://www.cnblogs.com/buexplain/p/5011437.html
Copyright © 2011-2022 走看看