gpt4 book ai didi

apache2.4 - angularjs 的 Apache 重写规则

转载 作者:行者123 更新时间:2023-12-01 07:57:44 24 4
gpt4 key购买 nike

我在 Angularjs 应用程序中有这个规则。它完美地工作。但我想了解一条规则,但我不知道它的作用 RewriteRule ^.*$ - [NC,L] #???

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -!f
RewriteRule ^.*$ - [NC,L] #NC none-case-sensitive, L stop when match
RewriteRule ^(.*) index.html [NC,L]

请帮助我了解这条规则 RewriteRule ^.*$ - [NC,L] 我知道 [NC,L] 标志,但我不明白^.*$ - 特别是规则末尾的空破折号。

最佳答案

RewriteRule 的语法是:

RewriteRule Pattern Substitution [flags]

你的规则是:

RewriteRule ^.*$ - [NC,L]
  • ^.*$ 是一个 perl 兼容的正则表达式,其中

    • ^ 是字符串的开始
    • . 是除换行符以外的任何字符
    • *表示0次或多次
    • $ 是字符串的结尾。
  • 替换为 -,这意味着:“不应执行任何替换(现有路径原封不动地通过)。当需要在不更改路径的情况下应用标志时使用此选项”

  • 标志是NCL,意思是:

    • NC:使模式比较不区分大小写。
    • L:立即停止重写过程,不再应用任何规则。特别注意每个目录和 .htaccess 上下文的注意事项(另请参阅 END 标志)。

所以这个规则匹配任何东西,不做任何替换,并立即停止重写过程。

关于apache2.4 - angularjs 的 Apache 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51476073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com