rewrite

Zherdev Anatoly tolyar at mx.ru
Mon Jan 17 19:07:07 MSK 2005


On Mon, 17 Jan 2005 18:40:26 +0300 (MSK)
Igor Sysoev <is at rambler-co.ru> wrote:


> > Вот есть какой вопрос по rewrite/redirect . Время от времени в URL у
> > меня могут появляться левые порты, мне хочется переписывать (видимо
> > делать редирект) URL в нормальный вид.
> >
> > Например есть запрос http://site:123/xxx/
> > Я хочу чтобы он тут же редиректился в http://site/xxx/
> >
> > Вопрос, можно ли как то конструкциями заложенными в
> > ngx_http_rewrite_handler.c добится этого, или там номера портов
вообще
> > нельзя использовать ?
> 
> Пока нельзя.
> 
> Возможный workaround:
> 
>      server {
>          listen  123;
>          location / {
>              redirect   http://site;
>          }
>      }

Увы, такой вариант не подходит. У меня много виртуальных хостов и я не
знаю что такое http://site он всё время будет разным, в
зависимости от того какое имя запросили.

Возможно как-то мою задачу можно по другому решить и я слишком намудрил.
Вся проблема в том, что если на один IP вешать несколько апачей на
разные порты, то при запросе http://имя-сайта/каталог апач при закрытии
последнего слэша упорно подставляет номер порта и получается
http://имя-сайта:порт-на-котором-сидит-апач/каталог/

Понятное дело, что я могу просто повесить nginx на несколько портов
сразу, но всё равно не красиво как-то, когда левые порты вылазят :(
В самом апаче я не смог найти решения этой проблемы (mod_rewrite очень
не хочется подключать).

-- 
Zherdev Anatoly.





More information about the nginx-ru mailing list