use*_*531 86 apache .htaccess comments
为什么这样做:
RewriteRule (.+)/$ $1
Run Code Online (Sandbox Code Playgroud)
这项工作:
RewriteRule (.+)/$ $1 [L] #bla bla bla
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
RewriteRule (.+)/$ $1 #bla bla bla
Run Code Online (Sandbox Code Playgroud)
Jon*_*Lin 137
最后一条规则不起作用,因为评论不是真正的评论.htaccess中的注释必须以a 开头#(必须在一行的开头),而不是随意的任何地方.
在第二种情况下,它#bla bla bla被解释为RewriteRule指令的第4个参数,它被简单地忽略.
在最后一种情况下,它#bla bla bla被解释为第三个参数,在这种RewriteRule情况下是标志所在的位置,并且#bla bla bla不是mod_rewrite理解的任何标志,因此您会收到错误.
IMS*_*SoP 28
Apache的配置文件格式(其中.htaccess文件就是一个例子),在技术上不支持嵌入式的意见,只完整行的注释(即一行开始了#).
以井号"#"开头的行被视为注释,并被忽略.配置指令后,注释可能不包含在一行中.- 官方Apache 2.4手册
但是,令人困惑的是,每个模块都会解析其指令的输入,但它喜欢 - 因此mod_rewrite决定如何处理以任何行开头RewriteRule
我不确定,但我的猜测是mod_rewrite忽略了之后的所有事情[flags],#实际上并不是必需的.
但最好的办法是始终保持对自己的评论,因为无论您评论的指令是什么,都可以.
| 归档时间: |
|
| 查看次数: |
59805 次 |
| 最近记录: |