![]() |
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
Копия темы
0
Да не из веба, а через файловую систему средствами PHP. Ну, неважно ) Интересно. На данных из базы было бы вообще идеально. Пойду пробовать на nginx. Спасибо. |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |