Можно дать, ионизируют попытку. Это не сделает его быстрее, но это могло бы сделать это менее разрушительным.
перепишите
, который вы сопоставляете с путем URL только часть. Это означает, что $ 1
не будет содержать строку запроса. Таким образом, запись должна быть безопасной
rewrite ^(.*)$ $1?locale=de-de break;
В случае вы не хотите, чтобы Nginx добавлял исходную строку запроса, просто укажите ?
в конце заменяющего URL:
rewrite ^(.*)$ $1?locale=de-de? break;
The match for rewrite
doesn't include the query params, so you need to test for that elsewhere.
Try:
if ($args !~* locale=de\-de){
rewrite ^(.*)$ $1&locale=de-de last;
}
перезапись
не изменяет параметры запроса, а только часть пути URI. По моему опыту, возня с перезаписью приводит к странным циклам, когда новый параметр добавляется до бесконечности. Перезапись, вероятно, не способ сделать это в Nginx.
Вместо этого вам следует изменить переменную $ args
с помощью директивы set
:
set $args $args&locale=de-de;