Задать вопрос

Как сделать редирект на nginx, чтобы он учитывался гугл аналитикой за отдельный источник трафика?

Сейчас конфиг выглядит так:

server {
listen 80;
server_name www.dom1.com
dom1.com
www.dom2.com
dom2.com
;
root /vhosts/dom/www;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm-dom.sock;
fastcgi_index index.php;
root /vhosts/dom/www;
include fastcgi_params;
}
location / {
set $flag 0;
if ($host = 'www.dom1.com' ) {
set $flag 1;
}
if ($host = 'dom2.com ) {
set $flag 1;
}
if ($host = 'www.dom2.com' ) {
set $flag 1;
}
if ($flag = 1) {
rewrite ^/(.*)$ dom1.com/$1 permanent;
}
try_files $uri $uri/ /$uri /index.php?q=$uri$args /mailer.php?q=$uri$args /hecher.php?q=$uri$args;
}
}

Вопрос: как сделать, чтобы с помощью гугл аналитики считать эти домены как разные источники, т.е. добавить для каждого параметры запроса типа:
utm_source=dom2.com&utm_medium=redirect"

PS
сейчас заход на домен2 считается аналитикой как прямой заход на основной домен.
исторпия вопроса toster.ru/q/113937?utm_source=email_toster&utm_med...
  • Вопрос задан
  • 2625 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
shurph
@shurph
Конфиг должен выглядеть как-то вот так (только нужно ещё подшаманить регулярные выражения, чтобы нормально обрабатывались случаи отсутствия get параметров в оригинальном запросе (я оставил комментарии в этом месте конфига)):
server {
	listen 80;
	server_name dom1.com;
	
	root /vhosts/dom/www;
	index index.html index.htm index.php;
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php5-fpm-dom.sock;
		fastcgi_index index.php;
		root /vhosts/dom/www;
		include fastcgi_params;
	}
	location / {
		try_files $uri $uri/ /$uri /index.php?q=$uri$args /mailer.php?q=$uri$args /hecher.php?q=$uri$args;
	}
}
server {
	listen 80;
	server_name www.dom1.com;
	location / {
		rewrite ^/(.*)$ dom1.com/$1 permanent;
	}
}
server {
	listen 80;
	server_name www.dom2.com
		dom2.com;
	location / {
		# будет работать, если во всех урлах передаётся какой-то get параметр
		# т.е. оригинальная ссылка толжна быть dom2.com/?smthng=blabla, чтобы
		# получить dom1.com/?smthng=blabla&utm_source=dom2.com&utm_medium=redirect
		# иначе может получится нерабочая ссылка вида dom1.com/page/&utm_source=dom2.com&utm_medium=redirect
		rewrite ^/(.*)$ dom1.com/$1&utm_source=dom2.com&utm_medium=redirect permanent;
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы