HTTP Wikipedia[en,de] トラフィックを HTTPS にリダイレクトするいくつかの Privoxy ルールがあります。 ("user.action"ファイルの小さなセクション)
{ +redirect{s@http://en.wikipedia.org/wiki/@https://secure.wikimedia.org/wikipedia/en/wiki/@} }
.en.wikipedia.org
{ +redirect{s@http://de.wikipedia.org/wiki/@https://secure.wikimedia.org/wikipedia/de/wiki/@} }
.de.wikipedia.org
それで質問があります: "regexp"や他のものを "en"、 "de"に入れる方法はありますか?何百もの異なる言語がありますが、それらをすべて書き留めておくのは悪い解決策だと思います。 <
もう一つ質問:これまで私の解決策は大丈夫ですか?尋ねたら訪問したらhttps://secure.wikimedia.org/wikipedia/en/wiki/File:Nokota_Horses_cropped.jpg 大丈夫です。 HTTPSを使用してください。しかし、画像をクリックすると:http://upload.wikimedia.org/wikipedia/commons/d/de/Nokota_Horses_cropped.jpg HTTPを使用します!だからこれは悪いです。イメージはHTTP専用サーバーにありますか?または、HTTPSで画像を表示するために別のリダイレクトルールを作成できますか?
ベストアンサー1
Privoxyのリダイレクト操作は、制限された正規表現セットを使用してURLを照合して再構築します。幸い、逆参照がサポートされています。前述の単一の3文字コードだけでなく、2文字の言語コードをサポートする方法でリダイレクト一致を書き換えることができます。
{ +redirect{s@http://(..|war).wikipedia.org/wiki/@https://secure.wikimedia.org/wikipedia/$1/wiki/@} }
.wikipedia.org
もともと2文字の言語コードを「(..|war)」に置き換えました。括弧は後で「$1」と呼ぶことができる逆参照を作成します。これらの2点は2文字と一致します。パイプ文字は、両方の文字列を一致させる論理 OR 演算子です。一致グループでパイプを複数回使用できます。単一の正規表現で複数の逆参照を使用できます。参照の一致に使用される数値を増やします(例:$ 2、$ 3など)。
Privoxyユーザーマニュアル付録正規表現サポートの説明と、より便利な例があります。
2番目の問題では、HTTPSにリダイレクトしたいURLごとに追加のリダイレクト操作を作成する必要があります。各サイトのURLパターンの正規表現を調整する必要があり、もちろんサイトもSSLを介してコンテンツを提供する必要があるため、これは問題になる可能性があります。