ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Помогите пожалуйста нап исать реврайт!



On Sun, Jun 13, 2010 at 12:30:52AM -0400, Craken wrote:

> Здравствуйте товарищи!
> Проблема вот в чем!
> Ставлю у себя на ресурсе "фильтр" ссылок! Ресурс на пхп! В качестве 
> "фильтрирования" использую preg_replace(); !
> И вот тут возникла проблема! После "переобразования" ссылка получает вид: 
> http://mysite.com/link.php?l=http://site.com
> то есть как Вы поняли, mysite.com - это мой сайт, а вот site.com - это сайт 
> на который идет ссылка!
> В файле link.php происходит куча проверок и (например) если это ссылка на 
> картинку, тэг не может отобразить такую ссылку! Пришлось писать реврайт чтобы 
> ссылка была такого плана http://mysite.com/linkhttp://site.com, прошу 
> обратить внимание на вставку "link", она нужна :)
> И так... что получилось (сильно прошу не бить):
> [code]
> rewrite 
> ^/link(.*)([0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM,./]*)$
>  /link.php?l=$1 last;
> [/code]
> Вроде как все должно работать.... но все стало как-то не так отображаться, и 
> я через link.php вывел ссылку, и ссылка у меня получилась такого плана:
> http://mysite.com/link.php?l=http:/site.com
> (для того кто не заметил: в адресе один слеш!)
> Всем заранее Спасибо! 
> С Уважением, Алексей!

Здравствуй товарищ Алексей!
Проблема вот в чем!
nginx объединяет несколько подряд идущих слэшей в один!
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#merge_slashes
Кстати! Вот это:
([0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM,./]*)
Можно заменить на вот это:
([\w,./]*)


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.