我相信根据https://blog.ip2location.com/knowledge-base/redirect-url-with-the-apache-web-server-using-ip2location/中的指南,使用 IP2Location Apache 模块要容易得多
基本上,你需要三样东西。
下载这 3 个东西并将它们解压缩到一个名为 ip2location 的文件夹中。
导航到 IP2Location C Libary 文件夹并使用以下命令对其进行编译:
sudo autoreconf -i -v --force
sudo ./configure
sudo make
sudo make install
现在导航到 IP2Location Apache Module 文件夹并使用以下命令对其进行编译:
sudo apxs2 -i -a -L /usr/local/lib/ -I ../IP2Location-C-Library-master/libIP2Location/ -l IP2Location -c mod_ip2location.c
sudo ln -s /usr/local/lib/libIP2Location.so.1 /usr/lib/libIP2Location.so.1
在您的 /etc/apache2/apache2.conf 文件中,您可以在编辑 IP2LocationDBFile 后粘贴以下内容以使用您自己的 BIN 文件路径:
<IfModule mod_ip2location.c>
IP2LocationEnable On
IP2LocationDetectProxy Off
IP2LocationSetmode ENV
IP2LocationDBFile "/home/admin/ip2location/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE.BIN"
</IfModule>
重新启动 Apache 以使更改生效。
sudo systemctl restart apache2
现在,您可以在 .htaccess 文件中添加重定向逻辑。下面的示例用法:
RewriteEngine On
RewriteCond %{ENV:IP2LOCATION_COUNTRY_SHORT} ^SE$
RewriteRule ^(.*)$ https://www.google.se/ [L]
RewriteCond %{ENV:IP2LOCATION_COUNTRY_SHORT} ^MY$
RewriteRule ^(.*)$ https://www.google.com.my/ [L]