适用于angularjs的Apache rewrite_rule

时间:2018-07-23 09:57:34

标签: apache2.4

我在Angularjs应用中有此规则。完美运作。但我想了解一条我不知道它在做什么的规则public partial class Form2 : Form { public Form2() => InitializeComponent(); Form1 openForm = new Form1(); private static bool isOpen = true; private void button1_Click(object sender, EventArgs e) { if (isOpen) openForm.Show(); else openForm.Hide(); isOpen = !isOpen; } }

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],尤其是规则末尾的空破折号。

1 个答案:

答案 0 :(得分:1)

RewriteRule的语法是:

RewriteRule Pattern Substitution [flags]

您的规则是:

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

    • ^是字符串的开头
    • .是除换行符之外的任何字符
    • *表示0次或多次
    • $是字符串的结尾。
  • 替换为-,这意味着:“不应执行替换(现有路径未经修改地传递)。当需要应用标志而不更改路径时使用此方式。” < / p>

  • 标志为NCL,表示:

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

因此,此规则匹配任何内容,不进行替换,并立即停止重写过程。