[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mod_rewrite, переменная в регулярке
Gradus
я в этом синтаксисе не очень.
У каждого юзера есть своя ссылка на файл, фишка как в контакте в зависимости от ip (вроде бы).
Ну вот формируется ссылка domen.ru/files/127.0.0.1/myfile.jpg сам файл к примеру находиться в files/myfile.jpg
несколько примеров делал, но для показа думаю и один прокатит :)

RewriteEngine on
RewriteBase /
RewriteRule ^files/%{REMOTE_ADDR}/(.*) files/$2 #и со скобками

в доке прописано
Цитата
переменные сервера в качестве проверяемых строк в условиях правил (%{VARNAME})

если так %{REMOTE_ADDR} то domen.ru/files/%25{REMOTE_ADDR}/myfile.jpg - работает, domen.ru/files/127.0.0.1/myfile.jpg - не работает (в регулярки воспринимает как текст , а не подставляет переменную.).
а если так (%{REMOTE_ADDR}) то не срабатывает регулярка, ip точно правильный



Спустя 18 часов, 48 минут, 41 секунда (9.03.2011 - 12:02) Gradus написал(а):
не ужели нельзя подставлять переменные в регулярные выражения sad.gif

Спустя 6 часов, 38 минут, 1 секунда (9.03.2011 - 18:40) Gradus написал(а):
что-то все молчат, может я плохо изъяснился.
каждому юзеру на файл выдаётся ссылка в зависимости от его ip
у 1 юзера ссылка http://domen.ru/files/127.0.0.1/myfile.mp3
у 2 юзера ссылка http://domen.ru/files/170.0.0.5/myfile.mp3
все эти ссылки видут к одному файлу который расположен по адресу http://domen.ru/files/myfile.mp3
, сделано это с помощью mod_rewrite. Но нужно сделать так что если юзер 2 даст свою ссылку юзеру 1 то она не сработает у юзера 1, т.к в строке указан ip юзера 2.
вот тут и застрял как проверить ip , переменные в регулярных выражениях по ходу не работают или я просто не знаю как их тут применить

Спустя 8 минут, 55 секунд (9.03.2011 - 18:49) gaserge написал(а):
через if разве не проверить?

Спустя 5 минут, 10 секунд (9.03.2011 - 18:54) Gradus написал(а):
gaserge, в mod_rewrite разве if есть ? первый раз слышу

Спустя 3 часа, 23 секунды (9.03.2011 - 21:55) Gradus написал(а):
блин не ужели нету способа кроме как запускать perl файл, через RewriteMap создать массив c ip юзера , проверять по массиву и так на каждый файлик sad.gif


_____________
ДАВАЙ ДЕНЬГИ
R543264623869
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.