nginx rewrite

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
823
Реакции
342
Прописываю такое перенаправление:

Код:
rewrite ^/id.php?gold-lion$ http://site.ru permanent;
rewrite ^/own_flashplayer_plc.swf?file=/uploads/lep.mp3$ http://site.ru permanent;
Но редирект не срабатывает.

На других ссылках, подобных этой:
Код:
rewrite ^/index.php/main/download/2856$ http://site.ru permanent;
всё работает нормально.

Подскажите, что не так с первыми двумя вариантами и как правильно их прописать?
 
/path?query

location и rewrite работают только с /path, а query находится в переменной $args.
Целиком же первоначальный запрос есть только в переменной $request_uri.

Код:
if ($request_uri = "/id.php?gold-lion") {
    return 301 http://site.ru/;
}
Или
Код:
if ($request_uri ~ ^/id\.php\?gold-lion$) {
    return 301 http://site.ru/;
}
 
@lag
Подскажи ещё плиз, как универсально прописать правило для ссылки со слешем в конце и без него? Чтобы не плодить новые строки только ради одного слеша.
Код:
rewrite ^/index.php/main/download/2856$ http://site.ru permanent;
rewrite ^/index.php/main/download/2856/$ http://site.ru permanent;
 
Последнее редактирование:
Назад
Сверху