===== Зачем это нужно? =====
Некоторые рассылки не предоставляют //правильную// ссылку для скачивания торрента, однако ее можно создать из **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**// будут автозагружаться с правильных ссылок.