Requestly で「次の語を含まない」または否定フィルターを実装する方法

Requestly で「次の語を含まない」または否定フィルターを実装する方法

使っていますRequestly Chrome & Firefox 拡張機能リダイレクトを設定します。たとえば、www.a.com に特定のパスがある場合 (例: www.a.com/do_not_switch) を除き、ホストを www.a.com から www.b.com に切り替えたいユースケースがあります。

Requestlyがサポートしていることは知っています正規表現とワイルドカードの一致しかし、「次の語句を含まない」のような否定フィルターを提供するオプションが表示されません。

このユースケースを実現するには助けが必要です。例は次のとおりです。

リダイレクト https://gsd.zgjx.zwa.com/* -->https://asc.zxc.com/*

を除外する https://gsd.zgjx.zwa.com/gsd/translation/...

PS: この問題の解決策は一般的なものであり、将来他のユーザーにも適用可能/役立つため、ユーザーに代わってこの質問を投稿します。

答え1

Requestly は否定フィルター (例: Does Not Contain) をサポートしていませんが、簡単なトリックを使用してこのユースケースを解決できます。

まとめ

ルールを解決して作成しました。以下の手順に従ってください。

  1. インストールリクエストリー
  2. 開けるhttps://app.requestly.in/rules/#sharedList/1566298072114-ネガティブフィルター例-サポートリクエスト
  3. 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 の否定先読みアサーションを使用します(?!...)。必要なのは 1 つのペアだけです。

すでにルールを作成しました。使用するには、リンクを開いてImport to My Rules右上のボタンをクリックしてテストするだけです。

あるいは、手動でルールを作成することもできます。

  1. 新しいルールを作成します。

  2. セクションでIf requestMatches (RegEx)演算子のドロップダウン メニューから選択します。

  3. 次の RegEx コードをフィールドに貼り付けます:

    /^https:\/\/gsd\.zgjx\.zwa\.com(?!\/gsd\/translation)/
    

    最も重要な部分はリストの部分です\.com(?!\/gsd\/translation).comないに続いて の/gsd/translation場合、URL は一致します。

    RegEx のステップバイステップの説明は次のとおりです。

  4. セクションでRedirects to、これをフィールドに貼り付けます。

    https://asc.zxc.com/
    
  5. ルールは次のようになりますこれ

  6. ルールを保存してテストします。

関連情報