Rewrite URI
Maxim Dounin
mdounin на mdounin.ru
Пт Дек 3 19:03:43 MSK 2010
Hello!
On Fri, Dec 03, 2010 at 06:48:18PM +0300, Sergey Shepelev wrote:
> 2010/12/3 Ivan . <jhe1979 at gmail.com>:
> > Привет!
> >
> > как сделать rewrite определенных папок на extern url?
> >
> > например: /var/www/html/data > http://www.domain.ltd/data
> >
> > Если буду запрашивать http://www.domain2.ltd/data файлы будут браться с
> > http://www.domain.ltd/data
> >
> > Весь хост redirect не возможно делать, возможно только кое-какие папки
> >
> > Спасибо за помощь
> >
>
> Вы упомянули три возможных варианта:
> - "как сделать rewrite"
>
> location /data {
> rewrite ^ http://www.domain.ltd$request_uri permanent;
Just some minor notes:
- rewrite ^ http://www.domain.ltd$request_uri permanent;
+ rewrite ^ http://www.domain.ltd$request_uri? permanent;
Иначе будут дублироваться аргументы.
> }
>
> - "файлы будут браться"
>
> location /data {
> root /var/www/domain2-files;
> }
>
> - "браться с http://www.domain.ltd"
>
> location /data {
> proxy_pass http://www.domain.ltd$request_uri;
- proxy_pass http://www.domain.ltd$request_uri;
+ proxy_pass http://www.domain.ltd;
Не надо использовать proxy_pass с переменными там где он не нужен.
В подобной конструкции proxy_pass с переменными имеет смысл
использовать только с одной целью: чтобы www.domain.ltd регулярно
резолвился. Но чтобы заработало - нужно ещё и описать resolver.
В остальном всё верно.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru