Я используюРасширение по запросу Chrome и Firefoxдля настройки перенаправлений. У меня есть вариант использования, в котором я хочу переключить хост с www.a.com на www.b.com, за исключением случаев, когда у www.a.com есть определенный путь (например, www.a.com/do_not_switch)
Я знаю, что Requestly поддерживаетСоответствия Regex и WildCardно я не вижу возможности задать отрицательный фильтр - что-то вроде «Не содержит».
Нужна помощь в достижении этого варианта использования. Вот пример
Перенаправить https://gsd.zgjx.zwa.com/* -->https://asc.zxc.com/*
кроме https://gsd.zgjx.zwa.com/gsd/translation/...
PS: Задаю этот вопрос от имени пользователя, поскольку решение этой проблемы является общим и будет применимо/полезно для других пользователей в будущем.
решение1
Requestly не поддерживает отрицательный фильтр (например, «Не содержит»), но вы можете использовать простой трюк, чтобы решить эту проблему.
Краткое содержание
Я решил и создал правило для вас. Пожалуйста, выполните следующие шаги
- УстановитьПо запросу
- Открытьhttps://app.requestly.in/rules/#sharedList/1566298072114-Negative-Filter-example-support-request
- Нажмите
Import List
кнопку вверху справа
Подробности
Шаг 1. Измените имя хоста на другое, если URL соответствует вашему условию исключения.
URL Matches (WildCard) https://gsd.zgjx.zwa.com/gsd/translation/*
Destination https://www.dummyhost.com/gsd/translation/$1
Шаг 2 — Определите общую пару для настройки перенаправления
В следующей паре добавьте логику перенаправления в общем для всех путей. Обратите внимание, что она не будет применяться к вашему пути исключения, поскольку имя хоста уже было изменено в первой паре.
URL Matches (WildCard) https://gsd.zgjx.zwa.com/*
Destination https://asc.zxc.com/$1
Шаг 3 — Верните фиктивное имя хоста к исходному
URL Matches (Wildcard) https://www.dummyhost.com/gsd/translation/*
https://gsd.zgjx.zwa.com/gsd/translation/$1
Вот скриншот, который поможет вам с визуальным представлением
Дайте мне знать, если у вас что-то не получится.
решение2
Чтобы решить эту проблему, мы используем RegEx negative lookahead assertion (?!...)
. Нужна только одна пара.
Я уже создал правило.Чтобы использовать его, просто откройте ссылку, нажмите Import to My Rules
кнопку вверху справа и протестируйте.
Кроме того, вы можете создать правило вручную:
Создайте новое правило.
В
If request
разделе выберитеMatches (RegEx)
в выпадающем меню оператора.Вставьте этот код RegEx в поле:
/^https:\/\/gsd\.zgjx\.zwa\.com(?!\/gsd\/translation)/
Самая важная часть — это бит списка
\.com(?!\/gsd\/translation)
. Он говорит, что если.com
естьнетзатем следует/gsd/translation
, тогда URL-адрес совпадает.Вставьте это в
Redirects to
поле раздела.https://asc.zxc.com/
Ваше правило должно выглядеть такэтот.
Сохраните и протестируйте свое правило.