Page 1 of 1

out и url с query string - обрезается все после "?"

Posted: Sat Jan 27, 2018 3:50 pm
by ivlad
Приветствую!

Имеется Смарт (последний билд 201801251644), аут сделан через реврайт в nginx.
2 варианта:

rewrite ^/go1/([^/]+)/ /cms/cgi/out.php?url=$1 last;
rewrite ^/go2/([^/]+)/ /cms/cgi/out.php?url=content&slug=$1 last;

В первом случае в качестве парметра url приходит Encode url.
Во втором случае - слаг.

Проблема в том, что в первом случае обрезается урл (query string - после ?), когда скрипт редиректит на контент. Во втором случае все работает ок.

Пример (линк на один известный тюб):
https://www.домен.com/view_video.php?viewkey=abcde1234567890
Смарт, обрезая урл, отправит по адресу:
https://www.домен.com/view_video.php

Re: out и url с query string - обрезается все после "?"

Posted: Sun Jan 28, 2018 7:00 am
by admin
Без реврайта все ок?

Re: out и url с query string - обрезается все после "?"

Posted: Sun Jan 28, 2018 8:11 am
by ivlad
Sorry, man! It's my bad!

Всю голову сломал, а ошибка в конфиге nginx!
Вместо:
rewrite ^/go1/([^/]+)/
нужно:
rewrite ^/go1/(.+)/

Т.е. в Encode url встречается /, по-этому он передается не полностью в /cms/cgi/out.php?url=$1

Re: out и url с query string - обрезается все после "?"

Posted: Sun Jan 28, 2018 10:22 am
by admin
NP
обычно потом и проверяю обычно сначала без реврайта а потом все остальное