LINUX.ORG.RU

nginx rewrite proxy pass


0

0

Есть apache, который крутится на 8080 порту, и nginx на 80том: Нужно сделать перехват из «download»: подставить вместо http://example.com/download/1.mp3 http://example.com/download/download.php?file=1.mp3

есть правила:

server { 
  listen 80;
  server example.com;
  location / {
   root /var/www;
   proxy_pass http://example.com:8080/;
   proxy_redirect default;
  }
  location /download {
   root /var/www;
   rewrite ^/download/(.*) /download.php?file=$1 redirect;
 }
}

После обращения на http://example.com/download/1.mp3 перекидывает на http://example.com/download/download.php?file=1.mp3, но после нажатия кнопки (пост?), на отображаемой php странице , меня по идее должно прокидывать дальше, а кидает опять на http://example.com:8080/download/download.php?file=1.mp3, как такое возможно (обратите внимание на порт)? что произошло, как это лечится через nginx?

★★

> после нажатия кнопки

Какой еще кнопки?

как это лечится через nginx?


Никак. Лечи свой пых-пых.

LamerOk ★★★★★
()
Ответ на: комментарий от vadv

Всё дело в php и апаче с его ServerPort. Именно для его лечения и стоит proxy_redirect default;

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.