替换中的特殊字符串-
(短划线)表示没有替换,在您需要应用规则同时保持原始网址不变时非常有用。
所以:
RewriteRule ^(somefile|somedir|someotherfile) - [L]
这告诉mod_rewrite保持URL不变,如果请求的子目录或文件PREFIX是备用列表中的一个,则退出处理规则。 如果请求的子目录在列表中,则跳过此后的所有规则。
我不明白为什么我们需要破折号?为什么我们需要保持原始URL不变。由于我们告诉此规则是[L]
(最后),如果列出了任何列表选项,为什么我们需要-
(破折号)?
答案 0 :(得分:3)
只有那里有一致的语法。破折号明确告诉httpd
不要重写任何内容。如果您删除了破折号,请考虑httpd
对该行的看法:
RewriteRule ^(somefile|somedir|someotherfile) [L]
括号中的标记将被解释为重写目标,您可以将所有匹配的网址重写为[L]
。