Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 9
RiDDi Сообщение 12/01/2011 16:26 Копия темы
Выход из .htaccess Пытаюсь найти какое-нибудь простое решение для создание динамических ссылок для видео привязанных к пользователю. Как вариант пробую через .htaccess. Немного запутался в работе ключа [L] модуля RewriteRule


Рабочая ссылка пользователя:
/media/f/video/4d2dd2ab57d53/1/the_big_bang_theory-1season-2series.flv
Должна перенаправляться на 
/media/f/video/_files/1/the_big_bang_theory-1season-2series.flv

А ссылка с устаревшей сессией или прямая ссылка на файл должна перенаправляться на промо ролик
/media/f/video/_files/promo.flv

Пытаюсь сделать так

RewriteCond %{REMOTE_ADDR} ^127.0.0.1
RewriteRule ^4d2d20e92a8be/([A-z\/0-9\-\.\_]*)$ _files/$1 [L]

RewriteRule ^([A-z0-9]+)/([A-z0-9\-\.\_\/]+)$ _files/promo.flv[L]

И так

RewriteRule ^([A-z0-9]+)/([A-z0-9\-\.\_\/]+)$ _files/promo.flv[L]

RewriteCond %{REMOTE_ADDR} ^127.0.0.1
RewriteRule ^4d2d20e92a8be/([A-z\/0-9\-\.\_]*)$ _files/$1 [L]

И так

RewriteRule ^([A-z0-9]+)/([A-z0-9\-\.\_\/]+)$ _files/promo.flv[С]

RewriteCond %{REMOTE_ADDR} ^127.0.0.1
RewriteRule ^4d2d20e92a8be/([A-z\/0-9\-\.\_]*)$ _files/$1 [L]

И нифига :( Почему-то выходит всегда на promo.flv. Как будто какой-то приоритет у символьного класса перед определенным значением.

В чем может быть проблема?
RiDDi Сообщение 12/01/2011 16:28 Копия темы
С прямой ссылкой на файл, на крайний случай, можно выкрутиться проверяя исходный запрос на наличие _files:

RewriteCond %{THE_REQUEST} _files
RewriteRule .* _files/promo.flv [L]

Но это не лучшее решение. И как быть с ссылками с устаревшей сессией?
DrSun Сообщение 12/01/2011 16:51 Копия темы
почему в крайнем случае? Как без условия обойтись тут? Сначала мод_рерайтом обрабатывается исходная рабочая ссылка, происходит обращение по первому правилу, потом это обращение еще раз проверяется на совпадения с правилами и вот тут происходит совпадение с RewriteRule ^([A-z0-9]+)/([A-z0-9\-\.\_\/]+)$ _files/promo.flv
idle Сообщение 12/01/2011 16:53 Копия темы
Проще сделать всё через nginx. Зачем такой RewriteCond?
Если есть доступ к httpd.conf можно включить RewriteLog.
RiDDi Сообщение 12/01/2011 17:09 Копия темы
Да, я уже заметил просматривая логи апача..

А почему _files совпадает с ^([A-z0-9]+) ? Там ведь специально подчеркивание! Или в .htaccess регулярки работают как-то по другому?
RiDDi Сообщение 12/01/2011 17:15 Копия темы
Да я рассматриваю разные варианты. nginx-сом не так просто управлять из PHP, хотя не факт – я ещё не думал об этом ))

Просто, например, давая возможность доступа из PHP к .htaccess в папке с файлами я рискую с точки зрения безопасности только файлами в этой папке. 
С nginx надо думать ещё как сделать, что бы не было дыры ))
RiDDi Сообщение 12/01/2011 17:24 Копия темы
Вот так

RewriteCond %{REMOTE_ADDR} ^127.0.0.1
RewriteRule ^4d2dd2ab57d53/([A-z\/0-9\-\.\_]*)$ _files_/$1 [L]

RewriteRule (^_files) _files/promo.flv [L]

Тоже выходит при первом проходе на promo.flv ((
Блин, чеж за хрень такая..
idle Сообщение 12/01/2011 17:26 Копия темы
Файлы .ht* из веба вообще не доступны.
nginx'ом управлять одно удовольствие, для perl даже helper есть. 
Я так делал редиректы на основе данных из БД. Изврат конечно, но надо было.
RiDDi Сообщение 12/01/2011 17:34 Копия темы
Да не из веба, а через файловую систему средствами PHP. Ну, неважно )

Интересно. На данных из базы было бы вообще идеально. Пойду пробовать на nginx. Спасибо.
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"