我们的服务器上安装了 magento。印度用户有一个不同的网站。我们想要的是将印度观众重定向到这一点。印度网站位于/in文件夹中。
问问题
172 次
1 回答
2
如果“印度观众”是指来自印度 ISP 托管的 IP 地址的请求:
您可以尝试自己定位 IP 范围,方法是挖掘适当RIR的免费资源,在印度的情况下应该是APNIC。
您也可以直接从一些商业 GeoIP/GeoLocation 服务获取 IP 范围,例如IP2Location或MaxMind。如果您不介意失去一些准确性,后者还提供名为Geolite Country的免费数据库下载。
知道 IP 范围后,您可以将它们用作重写条件,例如在RewriteCond
Magento 根.htaccess
文件中的指令中,或在 Magento 的index.php
usingheader()
命令中。
RewriteCond
例如两个印度 IP 范围 58.2.0.0 到 58.2.255.255 和 61.0.0.0 到 61.0.255.255:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^58\.2\. [OR]
RewriteCond %{REMOTE_ADDR} ^61\.0\.
RewriteRule ^(.*)$ in/$1 [R,L]
</IfModule>
查看印度 IP 范围的计数和不同类型,并且知道mod_rewrite
不支持指令的CIDR表示法,我不知道在 Magento中使用重定向是否会更高效。RewriteCond
header()
index.php
也就是说,请注意基于 IP 地址的重定向并不是一件完美的事情。有成千上万的开放代理可用,隐藏/隐藏请求来自的真实 IP 地址。
于 2012-06-15T10:44:56.813 回答