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

Постим сюда все найденые ошибки
Post Reply
ivlad
Posts: 109
Joined: Wed May 10, 2017 2:17 pm

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

Post 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
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

Без реврайта все ок?
Don't forget to run script update
ivlad
Posts: 109
Joined: Wed May 10, 2017 2:17 pm

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

Post by ivlad »

Sorry, man! It's my bad!

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

Т.е. в Encode url встречается /, по-этому он передается не полностью в /cms/cgi/out.php?url=$1
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

NP
обычно потом и проверяю обычно сначала без реврайта а потом все остальное
Don't forget to run script update
Post Reply