Мне нужно установить caller
param в ssi include как текущий uri, но $document_uri работал странно
Часть шаблона с ssi-include:
<div class="panel">
<div class="ym-wrapper">
<div class="ym-wbox">
<!--# set var="panel"
value="<!--# include virtual='/panel/?project=project_name&color=dark&caller=$http_referer' -->" -->
<!--# echo var="panel" encoding="none" -->
</div>
</div>
</div>
Точно, $http_referer
, а не $document_uri
Формат журнала Nginx:
log_format subtimed '$remote_addr - $remote_user [$time_local] '
'"INC $uri$is_args$args" $status $bytes_sent "$http_referer" '
'"$http_user_agent"
Местоположение Nginx для /panel/:
location /panel/ {
internal;
ssi on;
proxy_set_header Host panel.domain.zone;
proxy_method GET;
proxy_pass http://panel.domain.zone/;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 1s;
proxy_send_timeout 2s;
proxy_read_timeout 2s;
proxy_intercept_errors on;
log_subrequest on;
}
Я открываю страницу http://devel.domain.zone, и я вижу в журнале nginx:
xxx.xxx.xxx.xxx - - [15/Oct/2015:18:29:31 +0300] "INC /panel/?project=project_name&color=dark&caller=http://devel.domain.zone" 200 0 "http://devel.domain.zone/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0"
Хорошо, перейдите на страницу http://devel.domain.zone/sec/?theme=102 Nginx log:
xxx.xxx.xxx.xxx - - [15/Oct/2015:18:30:29 +0300] "INC /panel/?project=project_name&color=dark&caller=http://devel.domain.zone/sec/?theme=102" 200 0 "http://devel.domain.zone/sec/?theme=102" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0"
Оказывается, что $http_referer
ведет себя как $document_uri
...
Итак, если я установил $document_uri
вместо $http_referer
в ssi include, я вижу в nginx log что-то вроде этого:
xxx.xxx.xxx.xxx - - [15/Oct/2015:18:30:29 +0300] "INC /panel/?project=project_name&color=dark&caller=/ga/ga.js" 200 0 "http://devel.domain.zone/sec/?theme=102" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0"
WTF?!! В какой точке вычисляется переменная $document_uri
? Как передать переменные в include: как имя или как значение?