使用 .htaccess 和 GeoipLite Legacy + mod_geoip

Posted

技术标签:

【中文标题】使用 .htaccess 和 GeoipLite Legacy + mod_geoip【英文标题】:Using .htaccess and GeoipLite Legacy + mod_geoip 【发布时间】:2014-11-26 12:00:05 【问题描述】:

我有一个平面站点 (html + css),它位于一个 LAMP 堆栈服务器上,该服务器还托管其他站点。

我将 mod_geoip 与旧版 GeoLite City 下载数据库结合使用。

我需要让用户区域重新指向他们的本地化版本。

以下 Apache 变量在每次页面加载时都可用,即使在不需要 GeoIP 查找的网站上也是如此。

GEOIP_COUNTRY_CODE GEOIP_COUNTRY_NAME GEOIP_REGION GEOIP_CITY GEOIP_DMA_CODE GEOIP_AREA_CODE GEOIP_LATITUDE GEOIP_LONGITUDE

下面是我的 geoip.conf 模块文件。

    <IfModule mod_geoip.c>
      GeoIPEnable On
      GeoIPDBFile /usr/share/GeoIP/GeoLiteCity.dat
    </IfModule>

只有在我的一个站点的根 .htaccess 中才需要进行 geoip 检查。由于这个站点是平面的,我不能使用动态语言来调用 geoip 检查。

如何消除这种不必要的服务器负载?

【问题讨论】:

【参考方案1】:

您可以在geoip.conf 文件中将GeoIPEnable 设置为Off,并且只能在相关的LocationDirectory 块中启用它。如果你设置了AllowOverride AuthConfig,你也可以直接在你的 .htaccess 文件中设置它。

【讨论】:

以上是关于使用 .htaccess 和 GeoipLite Legacy + mod_geoip的主要内容,如果未能解决你的问题,请参考以下文章

无法使用我的 .htaccess 和配置文件

使用 .htaccess 更改端口和主机 [关闭]

使用 .htaccess 时 Apache 服务器上出现 403 和 500 错误

.htaccess 可以使用 3 个相同的参数吗?

使用 PHP 和 .htaccess 重写 URL

使用 .htaccess 删除和禁止扩展名