我最近帮助建立了一个亚马逊网上商店。我只需要在美国展示这家商店并重定向来自国外的访客,因为定价结构因税收、运费等而完全不同。
我最初的想法是创建一个 .htaccess 文件
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat
# Start Redirecting countries
# Canada
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ http://destination-site.com$1 [L]
然后将其上传到亚马逊托管帐户。在测试中我无法让上面的例子工作:我期望在这里发生的是因为我来自美国访问这个页面我应该被重定向到“destination-site.com”然而这并没有发生并且我得到了一个500 错误。
我的日子越来越难过,因为亚马逊文档经常过时、不完整,或者非常混乱和令人费解。谷歌搜索也没有提供太多帮助。如果有人知道如果访问者不是来自美国,是否可以重定向亚马逊网上商店,这将非常有帮助。
谢谢
尝试将您的重写代码更改为:
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$ [NC]
RewriteRule ^ http://destination-site.com%{REQUEST_URI} [L,R]
如果您仍然收到 500 错误,请查看您的 error.log 以查看错误日志是针对此请求的。
您应该考虑注册各个亚马逊合作国家/地区的帐户。然后,您应该检测您的访问者,并通过 javascript 为他们来自的国家/地区附加正确的关联标签。由于这个解释起来有点混乱,让我做一个流程图来解释一下。