Назад | Перейти на главную страницу

Apache CustomLog для регистрации полного URL

Я бы хотел добавить CustomLog в мою конфигурацию apache для регистрации полного запрошенного URL-адреса (или, по крайней мере, части URL-адреса хоста). У меня есть несколько доменов, обрабатываемых одним и тем же экземпляром apache, и я хотел бы иметь возможность различать домены в журналах (теперь я вижу только «GET /»). Я вижу в документация по LogFormat это перечисляет %U чтобы напечатать часть пути URL-адреса, но я ищу хост.

Продолжайте читать LogFormat документацию, и вы найдете:

%...{Foobar}i:  The contents of Foobar: header line(s) in the request
                sent to the server.

Это означает, что вы можете включить в свою конфигурацию:

%{Host}i

В %v и %V директивы также могут дать вам то, что вы хотите.

% v всегда будет значением ServerName («каноническое имя» вашего виртуального хоста). %V может быть ценностью ServerName, или это может быть значение HTTP Host заголовок, в зависимости от того, есть ли у вас UseCanonicalName включен в вашей конфигурации (и независимо от того, предоставил ли клиент Host заголовок).

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "% {Host} i% U% q "в сочетании

%{Host}i%U%qдает полный URL.

Добавить %v в формат вашего журнала.

Что-то вроде этого:

LogFormat "%v - %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-vhost
CustomLog /log/file/location combined-vhost

"% v" - имя сервера может быть тем, что вам нужно?