Privoxy перенаправляют правило для Википедии

Ваша локальная оболочка интерпретирует ${i} в двойных кавычках ("), таким образом, команда удается к

ssh user@some.serv.er "for i in /tmp/foo* ; do echo; done"

Просто используйте одинарные кавычки (') вместо этого и Ваша проблема исчезнет:

ssh user@${server} 'for i in /tmp/foo* ; do echo $i; done'
3
20.03.2011, 18:06
1 ответ

Действие перенаправления Privoxy использует ограниченные регулярные выражения, чтобы соответствовать и переписать URL. К счастью обратные ссылки поддерживаются. Можно переписать соответствие перенаправления таким способом поддерживать двухбуквенные коды языка плюс единственный трехбуквенный код, который Вы упомянули:

{ +redirect{s@http://(..|war).wikipedia.org/wiki/@https://secure.wikimedia.org/wikipedia/$1/wiki/@} }
.wikipedia.org

Я заменил Ваш исходный двухбуквенный код языка" (.. |war)". Круглые скобки создают обратную ссылку, которая может позже упоминаться как "1$". Две точки соответствуют любым двум символам. Символ вертикальной черты является логическим "или" оператором, делая соответствия против строк с обеих сторон. Можно использовать канал многократно в группе соответствия. Можно использовать несколько обратных ссылок в единственном regex. Увеличьте число, используемое для обращения к соответствию (т.е. 2$, 3$, и т.д.).

Приложение руководства пользователя Privoxy описывает поддержку регулярных выражений и там существуют более полезные примеры.

Для Вашего второго вопроса необходимо будет записать дополнительные действия перенаправления для каждого URL, который Вы хотите перенаправить к HTTPS. Это будет громоздким, поскольку необходимо будет настроить regexps для шаблонов URL каждого сайта, и сайт должен, конечно, предложить содержание по SSL также.

2
27.01.2020, 21:29
  • 1
    , это работает как очарование:) одна вещь: существует только 1 сайт Википедии, который имеет 3 стартовых буквы: war.wikipedia.org, таким образом, должно быть (...) - Так СПАСИБО!! –  LanceBaynes 21.03.2011, 11:00
  • 2
    , но: целое перенаправление не работает если я: pastebin.com/raw.php?i=rbZMMnZK создает правило, которое имеет: (...) в нем. [из-за war.wikipedia.org] –  LanceBaynes 21.03.2011, 11:24
  • 3
    (...) работает в моей конфигурации над Privoxy 3.0.16. Я отредактировал regex в ответе, чтобы также соответствовать "war.wikipedia.org", не используя (...). Это - лучшее решение, поскольку соответствие (...) повредит "www.wikipedia.org". Можно расширить этот regex для соответствия большему количеству субдоменов путем добавления дополнительных строк, которым предшествует символ вертикальной черты: (.. |war|another) –  Eli Heady 22.03.2011, 12:03
  • 4
    я не понял Ваш последний комментарий сначала. Используя три точки не будет соответствовать двум символам, если Вы не делаете одного из них дополнительным: (...?). Это все еще повредит www субдомен на Википедию, хотя (и любые другие три символьных субдомена, которые не соответствуют альтернативному используемому шаблону URL HTTPS). –  Eli Heady 22.03.2011, 13:51

Теги

Похожие вопросы