Location в nginx и регулярное выражение с последующим редиректом?

Есть такой конфиг.
location ~ /give_me/(.*)$ {
           return 301  http://site.com/page/$1;
      }

      location ~ ^/page/(.*)$  {
           proxy_pass   http://site.com/$1;
      }


При обращении к site.com/give_me/car, должно редиректить на site.com/page/car.
Где ошибка? Почему редиректит просто на site.com/page ?
  • Вопрос задан
  • 10260 просмотров
Решения вопроса 1
@zorruch
rewrite ^/give_me/(.+)$ /page/$1 permanent;
location ~ ^/page/(.*)$  {
       proxy_pass   http://site.com/$1;
 }

смотри - nginx.org/ru/docs/http/ngx_http_rewrite_module.html
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
А ещё лучше так:

location /give_me/ {
    rewrite ^/give_me/(.+)$ /page/$1 permanent;
}
location /page/  {
    proxy_pass http://site.com/;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы