【问题标题】:Apache translate simple rewrite rule to plain englishApache 将简单的重写规则翻译成简单的英语
【发布时间】:2015-02-20 13:28:06
【问题描述】:

我想在PHP中写一些相当于重写规则的东西,但对它们不熟悉,所以需要准确的英文翻译:

RewriteRule ^assets($|/) - [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php?path=$1 [NC,L,QSA]

据我所知(我猜这有点不对劲)这是在说:

  • 如果路径以资产开头,则不执行任何操作
  • 如果路径等于 index.php 则不执行任何操作
  • 如果路径不是文件或目录,则将其重定向到index.php?path=<path>

不知道[NC,L,QSA] 做了什么。我需要它完全准确才能正确编写 php。谢谢。

【问题讨论】:

    标签: php apache .htaccess rewrite


    【解决方案1】:
    • 规则和条件解释:

      • 您的前 2 个陈述是正确的
      • 语句 3 几乎是正确的:原始 url 中的任何查询字符串(这是 ? 之后的部分)都将附加到 index.php?path=<path>

    • 标志(这些是括号中的代码)简而言之:

      • L:如果触发,这是应用的最后一条规则
      • NC:不区分大小写的模式匹配
      • QSA:原始 url 的查询字符串附加到替换 url 中的任何查询字符串。

    有关详细信息,请咨询docs(无论如何都是可取的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2012-10-16
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多