私は、Apacheサーバーが別の国(ドイツなど)からのリクエストを受け取っているかどうかを知る方法を探しています(そのリクエストは公正なリクエスト(スパムやプロキシなし)を考慮しています)。 Apacheログでこれを別のエントリとして(dnsリクエストを使用して)表示したいですか?または何らかのアラート。これは可能ですか?.
Apache2にユーザーのアクセス元を検出させ、ヘッダーの変数を調整してログを記録し、cronジョブを設定してログをフレーズすることができますが、GEO IPデータベースにアクセスする必要があります。すべてのドメインではなく、ホストは.deとして解決されます。たとえ.deがドイツ語ベースであることを意味しない場合でも。
この小さなモジュールを使用すると、GEOIPデータベースを使用して訪問者を検出し、htaccessまたはヘッダーリクエスト内のリダイレクト、ブロック、ログ、および他の多くの変数を使用できます。
例えば
GeoIPEnable On GeoIPDBFile /path/to/GeoIP.dat
# Redirect one country RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$ RewriteRule ^(.*)$
http://www.domainname.com$1 [R,L]
# Redirect multiple countries to a single page RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$ RewriteRule ^(.*)$
http://www.domainname.net/DE$1 [R,L]
最も簡単なソリューションは、それらをサイトのDE部分にリダイレクトし、フレージングを容易にすることです。ページを複製してnoindexを使用するだけで、ランキングに影響しません。
チェックアウト mod_geoip2
GEO IPデータベースコストマネー
データベースを最新の状態に保つために、リクエストのX量ごとにこれを支払う必要があるため、IPアドレスは国ごとに拡大および変更されています。 APIを使用するためのMaxmind をお勧めします。多くの自由度があり、価格設定も悪くないからです。
これを行う簡単な解決策はありません。ホストを解決することはできますが、ドイツの多くのISPは.deだけを使用するのではなく、.net .comなどを使用します。何が何であるかを知るためにデータベースが必要です。