Maxmindのgeolitecityのwordpressのホスティング
私は上の作業現場イムにジオIPを追加しようとしています。私は、コンテキスト地理IPとジオIPモジュールを使用し、国に基づいてコンテキストを作成することができていました。しかし、私は地域/都市に基づいてコンテンツを表示する必要があります。
イム(私は仕事を得ることができた)が、私は何の地域/都市オプションを取得しないGeoLiteCity.datファイルを使用しようとするとMaxMinds' GeoIP.datファイルを使用して - 私はそれを使用する方法を見つけ出すことはできません。
いずれかの前に、これを使用しており、おそらく、例えば、右方向に私を指すことができますチュートリアルでは、動画などおそらく誰かが「箱から出しての作品代替モジュールを使用していましたか?
何かアドバイスをいただければ幸いです。
JamesOakleyは17時40分に2013年5月14日コメント
私はそれらの二つのモジュールについては知りませんが、私はほとんどの成功はその後、ちょうどサーバー変数/ PHPの関数ライブラリを使用して、サーバー上にMaxMindおよび/またはPHP拡張からApacheモジュールを入れて持っていることがわかりました。
あなたは上で何をホスティングしている - あなたは、このようなものの上に任意のコントロールを持っていますか?私はそれを設定するための正しい方向を指し示すことができ - あなたがrootアクセスを持っている場合。
JamesOakleyは9時49分に2013年5月15日コメント
こんにちは、私は、もう少し掘りを行ってきました
まず、私は、サーバー上のGeoIPをインストールする(PECL拡張モジュールまたはApacheモジュールとして)、私はそれを拾うために、関連するコードをGeoIPCity.datにGeoLiteCity.datの名前を変更する必要があることがわかりました。それはあなたがのGeoIP APIモジュールと市のデータファイルを使用している場合は、これを行うために必要なことかもしれません。
しかし:第二に、私は、のGeoIPコンテキストモジュールのコードを見てきました、それが唯一の国レベルのデータを使用しています。 drupalcode.org/project/context_geoip.git/blob/refs/heads/7.x-1.xを参照してください。 。
あなたはこれらの二つのモジュールで辛抱したい場合、私は二つのことを試してみたので(上記のこれら2つの観測に相当):
まず、他のPHPコードは、市のデータを読んでいることを確認してください。 (コア中)(一時的に)PHPの入力フィルタモジュールを有効にすると、あなたの現在のIPアドレスの都市を出力ノードを作成してみてください。それは動作しますか?上記のように市のデータファイルの名前を変更してみてください。それは動作しますか?あなたはそのコードが動作するように得ることができるまでは、コンテキストモジュールは、いずれかの都市レベルのデータをピックアップしません。
それは代わりに、または同様にその都市機能を読むことができるように、第二に、あなたはのGeoIPコンテキストモジュールを変更することができます。それとも、機能要求としてこれを求めて発行キューに問題を開くことができます。
匿名(未検証)は午前11時32分に2013年5月15日コメント
そのためのおかげで、私は何かの作業を取得することができますかどうかを確認するために、今、外出先にこれを与えなければなりません。
病気の私の調査結果を掲載。
匿名(未検証)は午前11時09分に2013年5月15日コメント
私に戻ってきてくれてありがとう。私は、理想的には、英国では、それぞれの国にコンテンツを提供する方法を探しています。コンテキスト地理IPモジュールが唯一の選択肢としてイギリスを与えます。私はmod_geoip2 Apacheモジュールがインストールされて取得するため問題ないはずです。
しかし私は、私は/表示コンテンツを提供することができるかを知ることに興味があると思います。例えば、テンプレート内の「GEOIP_COUNTRY_NAME」を使用してelse文、 - 利用可能な変数のリストについては、「dev.maxmind.com/geoip/legacy/mod_geoip2#Output_Variables-7」を見た、私は、idは、単純な場合を使用して想像しますノード - 基本ページ:
例はかなり不自然ですが、私は上の「ハンドル」を取得することができるものです。あなたは例は提供されています/ APIを使用して、既存の記事に私を指しますか?それは本当に有用であろう!
JamesOakleyは11時34分に2013年5月15日コメント
私は何を得るの出力を参照して外観を持っています
PHPでは、これらのApacheの変数へのアクセスを取得するには、使用する必要があります
$ _SERVER [ 'GEOIP_COUNTRY_NAME']
だから、そう、理論的にはあなたがして行うことができます
もし($ _SERVER [ 'GEOIP_COUNTRY_NAME'] == 'イングランド)
私はPECLを持つ都市のデータベースを使用してから取得するすべてのデータを見るとことを除いて、私は自分のIPのために以下のようになります。
アレイ([continent_code] => EU [COUNTRY_CODE] => GB [country_code3] => GBR [COUNTRY_NAME] =>イギリス[地域] => J9 [都市] =>ロンドン[POSTAL_CODE] => [緯度] => 53 [経度] => -1 [dma_code] => 0 [area_code] => 0)
どこにもそれは「イングランド」と言うがしません。あなたはGB、GBRやイギリスを持つことができます。その後で、詳細の次のレベルは市です。鉱山は、実際に「ロンドン」ではありません - それはより多くの、より具体的なので、あなたはすべてのウェールズの都市のリストを持つことができます方法はありません。 (「スウォンジーは」、「カーディフ」は、それをしないだろう - あなたは、「ガウアー」、「LlanfairPG」、および負荷がより通じてくる「マンブルズ」を取得したいです)。あなたができる最善のは、緯度と経度による近似するだろう - それはかなり不正確になります。
匿名(検証されていないが)夜04時12時2013年5月15日コメント
アドバイスジェームスのための乾杯は、本当に便利感謝してthatsの。一瞬のために保留イムは、イムは、現在、私のWebホストとの協議 - イムを共有ので、彼らは文句を言わない私は、専用またはVPSにアップグレードしない限り、カスタムのapacheモジュールを許可するホスティングに。
これは何も、外出先ではない場合は、他のGEO IPソリューションを知っていますか? IVは、ちょうどJSの代替(dev.maxmind.com/geoip/geoip2/javascript)を見て撮影した - これまでのものに手を加え?