我正在使用 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/