query string и rewrite в nginx

На одном из сайтов потребовалось сделать 301 редирект всех URL на индекс, я прописал в конфиг вот такую конструкцию:

if ( !-e $request_filename ) {
  rewrite ^.*$ / permanent;
}

Увы, URL, к которым добавлялись какие-то параметры типа http://example.com/url1?test=1 редиректились не совсем правильно: http://example.com/?test=1. Оказалось, чтобы этого избежать, подправить нужно совсем чуть-чуть:

if ( !-e $request_filename ) {
  rewrite ^.*$ /? permanent;
}

И все, редирект теперь срабатывает на http://example.com/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *