редирект запроса без get параметров

bagas nginx-forum на forum.nginx.org
Вт Авг 11 13:41:27 UTC 2020


Добрый день.
Подскажите пожалуйста по структуре редиректа.

При запросе к директориям /files/products и /files/content с
GET-параметром(-ами) и при существовании файла - 301 редирект на основной
url без GET-параметров (нужно удалить все GET-параметры из URL картинок из
указанных папок).

Уточнение если файла не существует, то запрос перенаправляется на php-скрипт
как и сейчас (try_files $uri $uri/ /resize/resize.php?file=$1&token=$args;)
вне зависимости от наличия/отсутствия GET-параметров в запросе. 

Имееются url
https://local.local/files/products/paal.320x504.png?bca30a33g344y444w5577
должен сработать 301й редирект на
https://local.local/files/products/paal.320x504.png

В nginx делаю.
location ~ ^/files/products/(.+) {
try_files $uri $uri/ @bagas;
if ($query_string ~ "^[A-fa-f0-9]{32}$") {
    rewrite ^(.*)$ $uri? permanent;
}
}
location @bagas {
    try_files $uri /resize/resize.php?file=$1&token=$args;
}


GET информация обрезается в url, но если нет файла то не происходит передача
get запроса.
Подскажите как лучше такое сделать?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,289056,289056#msg-289056



Подробная информация о списке рассылки nginx-ru