如何只记录某个主机的主机

  • 本文关键字:主机 记录 nginx
  • 更新时间 :
  • 英文 :


我有以下内容来记录referer的路径:

map $http_referer $just_path {
"~^(?P<path>[^?]*)(?.*)?$" $path;
}

基本上,我不想记录referer的查询字符串。然而,有些请求来自我们自己,对于那些我只想记录没有路径的scheme + host的请求(例如。http://www.example.com)。

我如何在为其他人记录scheme + host + path的同时实现这一点?简而言之:

Site A: http://sitea.com/this/path?v=true -> http://sitea.com/this/path
Site B: https://siteb.com/another/path?another=query -> https://siteb.com/another/path
Our Site: https://www.example.com/this/other/path?x=true&v=false -> https://www.example.com/

正则表达式按顺序求值,因此您可以在必须与自己的主机名匹配的行之前放置新行。

例如:

map $http_referer $just_path {
"~^(?<path>https?://www.example.com/)"  $path;
"~^(?<path>[^?]*)"                      $path;
}

有关详细信息,请参阅本文档。

最新更新