html - 如何根据用户所在的国家/地区提供不同的 HTML 页面?

标签 html apache ip-geolocation

我正在使用 Apache 2 和当前的静态 HTML 页面。

我希望我的欧元区访问者看到一个以欧元显示价格的页面。我的英国访客应该会看到一个以英镑为单位的价格页面。每个人都想看到以美元为单位的价格。

我意识到这可能是一个更适合 https://superuser.com/ 的问题- 但我不知道解决方案是 Apache 2 配置还是我是否需要使用代码。

编辑:我愿意尝试任何客户端或服务器端应用程序。我不需要转换货币 - 它是固定的欧元价格、固定的英镑价格和固定的美元价格。

最佳答案

我会为此使用 mod_rewrite:

RewriteEngine On

RewriteCond %{HTTP_HOST} =www.example.com [NC]
RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.[0-9]+$ [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.3\.[0-9]+$
RewriteCond %{PATH_INFO} =/

RewriteRule ^(.*)$ http://www.example.com/abc_euro.htm$1 [R=301,L]

RewriteCond %{HTTP_HOST} =www.example.com [NC]
RewriteCond %{REMOTE_ADDR} ^192\.168\.2\.[0-9]+$ [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.4\.[0-9]+$
RewriteCond %{PATH_INFO} =/

RewriteRule ^(.*)$ http://www.example.com/abc_uk.htm$1 [R=301,L]

(假设 192.168.1.*192.168.3.* ip 范围来自欧盟,而 192.168.2.*192.168.4.* 来自英国)

我不太确定 RewriteCond %{PATH_INFO} =/ 的用法来指示“请求根路径”,从而避免无限的重定向循环..也许可以更好地使用LocationMatch 还是这样..?

关于html - 如何根据用户所在的国家/地区提供不同的 HTML 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624745/

相关文章:

html - 如何避免子元素从 body 元素的样式中获取 text-decoration 样式

python - Django/mod_wsgi/Apache - mod_wsgi 没有使用它编译的 Python 版本 - "ModuleNotFoundError: No module named ' math'"

geolocation - 安全(通过 https)IP 地址查找 API 服务

php - HTML 未在 Firefox 上显示

php - 像 Groupon 这样的网站如何根据他们有交易的城市来分割地理位置?

javascript - 重定向控制

html - 编写我自己的 html 属性是不好的做法吗?

Apache:url 中的 %25(400 错误请求)

java - Maven和POI如何更好地理解Java中的Excel文件

html - 使2张图像重叠