Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何制作特定国家的网站(和内容)?_Php_.htaccess_Dns_Subdomain - Fatal编程技术网

Php 如何制作特定国家的网站(和内容)?

Php 如何制作特定国家的网站(和内容)?,php,.htaccess,dns,subdomain,Php,.htaccess,Dns,Subdomain,现在我正在用php开发一个关于板球新闻的小网站。我的计划是将每天的板球新闻作为帖子呈现,我的目标是向观众展示根据他们的国家,他们祖国的最热门新闻目前我只订购了一个.com域名,并计划根据您的回答订购一些国家/地区编码的域名(如.lk、.in、.au、.gb、.sa等)。所以我的问题是 我看到很多主要网站都有自己的cc域名,有时我甚至在浏览器的地址栏上输入了general.com,也无法访问它们的网站。(我在斯里兰卡,一些网站甚至在地址栏上搜索或输入了它们的.com名称,也只显示.lk网站。)我也

现在我正在用php开发一个关于板球新闻的小网站。我的计划是将每天的板球新闻作为帖子呈现,我的目标是向观众展示根据他们的国家,他们祖国的最热门新闻目前我只订购了一个.com域名,并计划根据您的回答订购一些国家/地区编码的域名(如.lk、.in、.au、.gb、.sa等)。所以我的问题是

我看到很多主要网站都有自己的cc域名,有时我甚至在浏览器的地址栏上输入了general.com,也无法访问它们的网站。(我在斯里兰卡,一些网站甚至在地址栏上搜索或输入了它们的.com名称,也只显示.lk网站。)我也喜欢在我的网站上加入这项技术,但我不知道怎么做。所以请帮我回答以下问题

  • 如何检测访客的正确国家/地区

  • 我是否需要任何第三方服务或附加组件?这些服务或附加组件是否昂贵

  • 如何根据访问者的国家/地区更改web内容

  • 我应该购买所有cc域名还是可以使用以下技术

  • 最后,如果我能使用上面提到的技术,我是如何做到的


  • 您需要用户IP地址和API。使用完整的解决方案尝试以下示例以检测用户的国家/地区

    试一试

    输出

    美国


    到目前为止你试过什么?是的,太宽了。1。如果用户使用的是代理,该怎么办?2.你可以尝试在用户的IP上做一个简单的whois,或者使用一些免费的API来检查IP。3.取决于你是否可以自动安装一个像谷歌这样的翻译服务(请记住,仅仅因为某人在一个国家并不意味着他们会说那种语言)。您可以使用目录、子域或购买TLD。5.不知道。您可以下载数据库并在自己的数据库中使用它们,然后将您的访客ip地址与进行比较。例如,搜索GeoLite遗留可下载数据库,准确率不是100%。你可以付费获得更可靠、更准确的信息来源。我个人使用GeoIP(),效果很好,我使用它获取国家代码(美国、ar、au、it、ca、mx)并重定向到这样的文件夹,如果没有匹配我的文件夹,我会将它们重定向到通用页面,但如果你想,您还可以编写一些非常动态的代码,并创建一个
    template.php
    之类的东西,这样您就可以创建一个新文件夹,将文件作为
    index.php
    复制到该文件夹中,并使其正常工作,但这当然意味着需要对数据库和模板文件进行大量思考,等等。@chris85非常感谢你给我指出了一些有价值的观点。!而且你的回答方法也很容易理解。。!干杯非常感谢你。。!我将尝试这个并评论我的结果。。!
    $userip  = $_SERVER["HTTP_CLIENT_IP"];
    
    $ip_data = json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$userip));
    echo $ip_data->geoplugin_countryCode;