首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对多站点使用单独的Apache日志文件

对多站点使用单独的Apache日志文件
EN

WordPress Development用户
提问于 2012-04-06 03:36:39
回答 1查看 1.4K关注 0票数 3

一段时间前,我离开博客,并下载我的博客到我的系统。有一段时间,我将它们作为VirtualHost与每个博客一起托管在那里。后来,我把它们导入到WordPress中,现在就从WP中托管它们。

当我将它们作为虚拟主机在本地托管时,我让每个人使用一个单独的Apache日志文件,但是现在,所有的博客都被记录到同一个文件中。

我在WordPress中找不到一个设置,而且由于站点是虚拟的,所以无法在.htaccess文件中指定它。也就是说,WordPress博客实际上并不是作为单独的目录在驱动器上定位的(此外,日志设置无论如何也不能在.htaccess中使用)。

如何配置WordPress多个安装,以便一个或多个站点将日志记录到自己的日志文件中?

toscho关于使用SetEnvIf的第二个建议很有希望。我设法让它将对一个站点的访问放在一个单独的日志文件中,并使用下面的指令将其排除在主日志之外。

代码语言:javascript
运行
复制
…
<IfModule log_config_module>
  …
  # I’m re-using the dontlog environment variable because there is no reason to make a special variable (for me), so it avoids having to use an expression (plus, it just makes sense)
  SetEnvIf Request_URI "^/blogs"        dontlog
  SetEnvIf Request_URI "^/blogs/blog1"  blog1
  SetEnvIf Request_URI "^/blogs/foobar" foobar
  …
  CustomLog "../Logs/Main/access.log"  common env=!dontlog
  CustomLog "../Logs/Blogs/blog1.log"  common env=blog1
  CustomLog "../Logs/Blogs/foobar.log" common env=foobar
  …
  UnsetEnv  dontlog
  UnsetEnv  blog1
  UnsetEnv  foobar
</IfModule>
…

这对于单个站点的博客是有效的,但是对于多站点来说,问题在于试图保持整洁,并简化添加新博客,因为在日志文件名中不可能像下面这样使用变量,这意味着为每个博客创建一个单独的条目:

代码语言:javascript
运行
复制
…
<IfModule log_config_module>
  …
  SetEnvIf Request_URI "^/blogs"         dontlog
  # Set environment variable to matched regex subexpression corresponding to blog name
  SetEnvIf Request_URI "^/blogs(.+/)"    blog=$1
  …
  CustomLog "../Logs/Main/access.log"    common env=!dontlog
  CustomLog "../Logs/Blogs/%{blog}e.log" common env=blog
  …
  UnsetEnv  dontlog
  UnsetEnv  blog
</IfModule>
…

最后,在一个名为%{blog}e.log的文件中包含所有博客访问的日志。

EN

回答 1

WordPress Development用户

发布于 2012-04-06 04:05:04

您可以根据自定义日志变量在您的httpd-vhosts.conf中设置HTTP_HOST --如果您的服务器是Apache,并且您为每个站点使用子域。

对于子目录(未测试):

代码语言:javascript
运行
复制
SetEnvIf Request_URI ^sitename1 sitename1
SetEnvIf Request_URI ^sitename2 sitename2
CustomLog sitename1.log common env=sitename1
CustomLog sitename2.log common env=sitename2
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/48156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档