使っています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) をサポートしていませんが、簡単なトリックを使用してこのユースケースを解決できます。
まとめ
ルールを解決して作成しました。以下の手順に従ってください。
- インストールリクエストリー
- 開けるhttps://app.requestly.in/rules/#sharedList/1566298072114-ネガティブフィルター例-サポートリクエスト
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
右上のボタンをクリックしてテストするだけです。
あるいは、手動でルールを作成することもできます。
新しいルールを作成します。
セクションで
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/
ルールは次のようになりますこれ。
ルールを保存してテストします。