這是一個 IP2Location Apache 模組,使用戶能夠找到國家、地區或州、地區、城市、緯度和經度、郵遞區號、時區、網際網路服務供應商 (ISP) 或公司名稱、網域名稱、網速、區號、氣象站代碼、氣象站名稱、行動國家代碼(MCC)、行動網路代碼(MNC) 和營運商品牌、海拔、使用類型、位址類型、IAB 類別和ASN 以及按IP 位址或主機名稱劃分的類別源自。該庫從IP2Location BIN 資料檔讀取地理位置資訊。
支援 IPv4 和 IPv6 位址。
欲了解更多詳情,請瀏覽:https://www.ip2location.com/developers/apache
建立一個名為 ip2location 的新資料夾。
在 Debian 中安裝開發庫。
apt install apache2-dev
從此處下載 IP2Location C 庫到 ip2location 資料夾中。
解壓縮 C 庫。
unzip master.zip && rm master.zip
進入工作目錄。
cd IP2Location-C-Library-master
編譯並安裝IP2Location-C-Library。
autoreconf -i -v --force
./configure
make
make install
注意:如果需要,您可能需要執行ldconfig
來刷新共用程式庫。
將 IP2Location Apache 模組下載到 ip2location 資料夾中。
解壓縮 IP2Location Apache 模組
unzip master.zip && rm master.zip
進入 IP2Location Apache 模組目錄。
cd ip2location-apache-master
編譯 IP2Location Apache 模組。
apxs2 -i -a -L ../IP2Location-C-Library-master/libIP2Location/ -I ../IP2Location-C-Library-master/libIP2Location/ -l IP2Location -c mod_ip2location.c
apache2ctl -M
<IfModule mod_ip2location.c>
IP2LocationEnable On
IP2LocationDetectProxy <On|Off>
IP2LocationSetmode ALL
IP2LocationDBFile <ip2location_binary_db_file_with_fully_qualified_path>
</IfModule>
建立一個名為 ip2location 的新資料夾。
從此處下載 IP2Location C 庫到 ip2location 資料夾中。
使用7-zip或其他壓縮工具解壓縮C函式庫。
進入工作目錄。
cd IP2Location-C-Library-master
開始編譯。
nmake /f Makefile.win
下載 Apache 模組並將其解壓縮到 ip2location 資料夾中。
導覽至 ip2location-apache-master 資料夾。
編輯 Makefile.win 以更改 C 庫的路徑。
IP2LOCATION_CSRC_PATH = C:/ip2location/IP2Location-C-Library-master/libIP2Location
IP2LOCATION_CLIB_PATH = C:/ip2location/IP2Location-C-Library-master/libIP2Location
APACHE_INSTALL_PATH = "C:/Program Files/Apache Software Foundation/Apachex.x"
開始編譯。
nmake /f Makefile.win
將產生的 IP2Location_apache.dll 複製到 Apache 模組目錄。
將以下行加入 httpd.conf 中
<IfModule mod_ip2location.c>
IP2LocationEnable <ON|OFF>
IP2LocationDetectProxy <ON|OFF>
IP2LocationSetmode ALL
IP2LocationDBFile <ip2location_binary_db_file_with_fully_qualified_path>
</IfModule>
若要在 Apache 中載入 IP2Location 模組,請在 httpd.conf 中新增下列行。
LoadModule IP2Location_module FULL_PATH_TO_IP2LOCATION_MODULE
<IfModule mod_ip2location.c>
IP2LocationEnable On
# ENV will set server variables
# NOTES will set apache notes
# ALL will set both
IP2LocationSetmode ALL
IP2LocationDBFile PATH_TO_IP2LOCATION_BIN_DATABASE
IP2LocationDetectProxy On
</IfModule>
參考:
姓名 | 價值 | 描述 |
---|---|---|
IP2位置啟用 | 開|關 | 啟用或停用 IP2Location 模組。 |
IP2位置設定模式 | 環境|註釋|全部 | 選擇顯示地理位置變數的位置。 ENV = 伺服器變量,NOTES = Apache 註釋,ALL = 兩者 |
IP2位置資料庫文件 | 小路 | IP2Location BIN 資料庫的完整路徑 |
IP2位置偵測代理 | 開|關 | 如果您的網站託管在反向代理伺服器後面,請開啟此功能以偵測正確的 IP 位址 |
重新啟動 Apache 伺服器以使變更生效
注意如果您遇到啟動錯誤,其中 Apache 無法找到模組文件,請如下所示設定您的環境路徑:
$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/apache2/modules/
$ export LD_LIBRARY_PATH
從網際網路瀏覽器載入 mod_ip2location_test.php
將以下行新增至您的網域設定檔(apaches/sites-enabled)或 .htaccess:
RewriteEngine On
RewriteCond %{ENV:IP2LOCATION_COUNTRY_SHORT} ^US$
RewriteRule ^(.*)$ https://www.google.com [L]
這會將所有 IP 位址從美國重新導向到 https://www.google.com
電子郵件:[email protected]。
網址:https://www.ip2location.com