apache2.4 - 用于 angularjs 的 Apache rewrite_rule
问题描述
我在 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次或多次$
是字符串的结尾。
替换的
-
意思是:“不应该执行替换(现有路径通过未触及)。当需要应用标志而不更改路径时使用此选项。”标志是
NC
和L
,这意味着:NC
:使模式比较不区分大小写。L
:立即停止重写过程,不再应用任何规则。特别注意每个目录和 .htaccess 上下文的注意事项(另请参见 END 标志)。
所以这条规则匹配任何东西,不做任何替换,并立即停止重写过程。
推荐阅读
- python - 如何将 python 模块连接到 C# 项目?
- java - 如何测试 Java 调度器(ScheduledExecutorService)?
- sql - 用于多列中不同值的 Oracle SQL
- javascript - 使用四个按钮在 div 内移动 div
- python - Python读入许多文件做一些任务输出到(Excel文件)
- python - 如何构建一个纯粹由ticker相关的其他模型制作的Django模型?
- c++ - 从没有虚函数的类继承的最佳方法
- swift - 将函数中的泛型类型推断为 Object.Type 变量
- reactjs - PATCH 请求似乎没有到达 Express.js 服务器
- android - Google Play 商店推出问题 - 如何替换现有的实时应用