私はmodrewriteの初心者ですが、以前はサーバーで正常に使用していました。
モジュールをApacheサーバーに正常にインストールし、PHPテストページでテストしました(市外局番が正しく返されました)。サイトでテストし、別のページにリダイレクトすることにしました。
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat Standard
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat Standard
RewriteEngine On
RewriteCond %{ENV:GEOIP_AREA_CODE} ^847
RewriteRule ^$ http://www.teetimelawncare\.com/lawncare\.html$1 [NC,QSA]
毎回500内部サーバーエラーが発生するだけです。理由は何ですか?
編集:.htaccessファイルのAddType x-mapp php5行でエラーが発生しました。それを削除すると、機能します。
問題を特定するには、まずリダイレクトせずに試してください。それでも動作しない場合は、httpd
ユーザー(たとえば、nobody
)がGeoIPデータベースファイルへの読み取りアクセス権を持っていることを確認してください。トラブルシューティングセクションで説明します here 。
また、。htaccessファイルまたはメインサーバー設定の各行が newline で終わっていることを確認し、前のスペースを削除しますRewriteEngine On
。
最後に、IndexCache
を使用することもできます。これにより、GeoIP Cityなどの大規模なデータベースファイルのルックアップと読み取り/書き込みアクセスの回数が減ります。例を参照してください here 。