【问题标题】:1 domain 2 websites1个域名2个网站
【发布时间】:2025-11-22 14:50:01
【问题描述】:

..path/siteA/..path/siteB/ 两个目录中有 2 个不同的网站。我需要将其中一个加载到域example.com 上,具体取决于他们访问的国家/地区。

不能是www.example.com/siteA,必须是www.example.com

有可能吗?

编辑:找到解决方案。

【问题讨论】:

  • 是两种语言的同一个网站还是两个完全不同的页面?
  • 如果我想将您网站的 URL 提供给访问法国的英国人,我将无法向他提供 english 网站的地址,它会错误地认为他是法国人。即使他使用显示服务器的浏览器,他也更喜欢英文内容。语言检测是可以的,而不是国家(虽然很困难)
  • 我不在乎。这不是问题
  • 您不关心给用户带来的不便吗?
  • 你能发布你发现的解决方案吗?

标签: php apache .htaccess


【解决方案1】:

将您的网络服务器配置为侦听两个不同的端口,一个应该从 /path/siteA 提供内容,第二个应该从 /path/siteB 提供内容。

下一步是根据用户的位置(IP 地理定位)和您正在路上来配置 Pound

【讨论】:

  • 我无法配置监听不同的端口。没有对服务器的完全访问权限。
  • 绝对没有必要使用不同的端口。
【解决方案2】:

通常使用地理位置来完成。

您在 example.com/index.php 上使用重定向,根据他们的 ip 重定向到 example.com/pathA 或 example.com/pathB

使用header() 函数重定向:)


$ip = $_SERVER['REMOTE_ADDR'];

if(...) // check location of IP
{
  header("Location: /pathA");
}
else
{
  header("Location: /pathB");
}

http://php.net/manual/en/reserved.variables.server.php
http://au.php.net/manual/en/function.header.php


编辑: 根据评论,这就是您所需要的:mod_Rewrite: Filter specific pages by IP and redirect them

【讨论】:

  • 重定向不是我需要的。 “它不能是 www.example.com/siteA 它必须是 www.example.com 。”
【解决方案3】:

是的,这是可能的。您必须询问语言或显示默认语言的第一页。

这是通过两种方法完成的:

  1. 每种语言都可以是在带有每个变量的单独文件中分配的行或单词。通过变量调用我们可以得到语言参数。

  2. 每种语言都可以是在数据库中分配的行或单词,并带有单独的表。

【讨论】:

  • 这与语言无关。
  • 这里的语言与国家相同。找到国家的ip,对国家做上面的程序。
最近更新 更多