当用单行写入和用两行写入时,htaccess代码的行为有所不同

时间:2012-10-04 07:12:35

标签: .htaccess url-rewriting url-routing

我试图学习htaccess基础知识,但最初的步骤让我发疯并且失去了一些宝贵的时间..

htaccess代码在以单行写入和以两行不同的方式写入时表现不同

以下代码

RewriteEngine on 
RewriteRule .* good.html   

以下代码

RewriteEngine on RewriteRule .* good.html   

表现不同......

请解释一下它是怎么回事.. 我想,因为htaccess首先检查所有条件然后工作.. 但这也不应该让它像那样......

1 个答案:

答案 0 :(得分:1)

Apache指令本身就是一条线。所以当你有:

RewriteEngine on RewriteRule .* good.html   

第一个“单词”是指令,例如RewriteEngine。它查找是否应该打开或关闭,下一个“单词”是on。到目前为止,重写引擎已打开。但是之后还有一堆其他废话,它会被忽略。

但是当你有:

RewriteEngine on 
RewriteRule .* good.html   

重写引擎正常打开。然后处理RewriteRule指令。该行中的第一个“字”为RewriteRule,因此参数为RewriteRule 正则表达式 目标 [标记]

因此,当他们在不同的行上时,所有内容都会被内部重写为good.html。同时,忽略on之后的所有内容。