===== Зачем это нужно? ===== Некоторые рассылки не предоставляют //правильную// ссылку для скачивания торрента, однако ее можно создать из **URL описания** (или **URL загрузки**). ===== Как это работает ===== Рассмотрим на примере [[https://rutracker.org/forum/index.php|rutracker.org]]. В их рассылке вместо URL для скачивания торрента есть ссылка на тему раздачи (**URL описания**): ''%%https://%%rutracker.org/forum/viewtopic.php?t=**NUMBER**'', где **NUMBER** -- номер раздачи.\\ Правильная ссылка для скачивания (**URL загрузки**) будет такой: ''%%https://%%rutracker.org/forum/dl.php?t=**NUMBER**'' Превратить одно в другое можно с помощью [[howto:regex|регулярных выражений]] (см. выше) примерно таким образом: * создадим выражение для захвата нужных частей строки из **URL описания**: * протокола -- ''(%%https?://%%)'' (чтобы ничего не сломалось, если протокол изменится) * суффикса домена rutracker -- ''(org|net)'' (если придется переходить с одного зеркала на другое) * собственно номера раздачи -- ''(\d+)''\\ Скобки ''()'' означают, что мы «захватываем» часть строки, чтобы в дальнейшем ее использовать. Тогда ''${1}'' будет означать //«содержимое 1-ой пары скобок»//, ''${2}'' -- второй и т.д. * соберем всё вместе: ''#**(%%https?://%%)**rutracker\.**(org|net)**/forum/viewtopic\.php\?t=**(\d+)**#i'' * создадим шаблон для создания **URL загрузки**: * ''**${1}**rutracker.**${2}**/forum/dl.php?t=**${3}**''\\ Это **не** регулярное выражение; просто строка, в которой ''${N}'' будет заменено на захваченное содержимое **N**-ной пары скобок * создадим новое правило в //**Менеджере правил**//: ===== Как настроить ===== {{gallery> urlrewrite-rule.png?300x200&lightbox}} * В контекстном меню списка раздач (или в контекстном меню любой рассылки) выберите //**Менеджер правил**// * Добавьте новое правило – Добавить и дайте ему понятное имя * В списке //**Параметры правила**// выберите //«Если URL описания торрента совпадает с шаблоном»// * В поле под списком впишите созданное выше регулярное выражение для захвата из **URL описания**:\\ ''#**(%%https?://%%)**rutracker\.**(org|net)**/forum/viewtopic\.php\?t=**(\d+)**#i'' * В списке ниже выберите //«заменить URL загрузки на»// * В поле под списком впишите созданный выше шаблон:\\ ''**${1}**rutracker.**${2}**/forum/dl.php?t=**${3}**'' * В поле //**Рассылка**// выберите //«Все рассылки»// (поскольку наше правило относится к трекеру, а не к определенной рассылке; рассылки с других трекеров не будут соответствовать регулярному выражению и будут пропущены этим правилом) После нажатия ОК все новые торренты с рассылок //**rutracker**// будут автозагружаться с правильных ссылок.