.htaccess中的破折号(' - ')

时间:2011-03-11 18:07:57

标签: .htaccess substitution

替换中的特殊字符串-(短划线)表示没有替换,在您需要应用规则同时保持原始网址不变时非常有用。

所以:

RewriteRule ^(somefile|somedir|someotherfile) - [L]

这告诉mod_rewrite保持URL不变,如果请求的子目录或文件PREFIX是备用列表中的一个,则退出处理规则。 如果请求的子目录在列表中,则跳过此后的所有规则。

我不明白为什么我们需要破折号?为什么我们需要保持原始URL不变。由于我们告诉此规则是[L](最后),如果列出了任何列表选项,为什么我们需要-(破折号)?

1 个答案:

答案 0 :(得分:3)

只有那里有一致的语法。破折号明确告诉httpd不要重写任何内容。如果您删除了破折号,请考虑httpd对该行的看法:

RewriteRule ^(somefile|somedir|someotherfile) [L]

括号中的标记将被解释为重写目标,您可以将所有匹配的网址重写为[L]