0

我在互联网上搜索了一些我似乎不明白的标志。

你什么时候使用 [E] 标志?

例如。

RewriteRule \.jpg$ - [env=dontlog:1]

那有什么作用……?

NS(无后续请求)如何工作?如果我的 php 文件中有很多包含,我是否需要将其放在 NS 中以使其不会停止工作?它有什么用?

4

2 回答 2

2

当该规则匹配 ( \.jpg%) 时,环境变量dontlog的值设置为1

后来,最有可能使用它的场景是 Apache 配置定义了一个CustomLog指令,该指令读取该环境变量,并且在设置时不会将一行写入日志文件。因此,对图像文件的请求.jpg不会写入 Apache 日志。

例如:

# Log any request that doesn't have a dontlog variable set...
CustomLog logs/access_log common env=!dontlog

mod_rewrite 文档中有一点关于环境变量的信息

直接来自上述文档:

如果请求的 URI 是图像文件,则以下示例将名为“image”的环境变量设置为值“1”。然后,该环境变量用于从访问日志中排除这些请求。

RewriteRule \.(png|gif|jpg) - [E=image:1]
CustomLog logs/access_log combined env=!image
于 2012-09-04T19:01:39.967 回答
0

要回答关于为什么重写不起作用的问题,这是因为您的第一条规则将请求从 index.php 重写为 target.php,因此第二条规则将永远不会触发,因为请求的文件不再是 index.php。

该评论已经为您提供了环境变量标志的答案。

于 2012-09-04T19:02:23.783 回答