【问题标题】:How to redirect with Htaccess TO multiple sites?如何使用 Htaccess 重定向到多个站点?
【发布时间】:2023-04-02 05:46:01
【问题描述】:

我一直在四处寻找以将我的流量重定向到多个不同的网站,但没有在线找到答案。

大多数 google/stackoverflow 结果显示相反(多个域/站点流量到一个站点)。

有人可以帮助我如何将流量从一个站点循环重定向到多个站点吗?例如,今天有 10 人访问我的网站 (www.randomrecipes.com):

Person 1 将被重定向到 www.recipe1.com

第 2 个人将被重定向到 www.recipe2.com

第 3 个人将被重定向到 www.recipe3.com

第 4 个人将被重定向到 www.recipe1.com

第 5 个人将被重定向到 www.recipe2.com

第 6 个人将被重定向到 www.recipe3.com

第 7 个人将被重定向到 www.recipe1.com

第 8 个人将被重定向到 www.recipe2.com

第 9 个人将被重定向到 www.recipe3.com

等等……

我真的很感谢任何解决方案的帮助来实现这一点!!!!

:)

【问题讨论】:

  • 这通过像 PHP 这样的脚本语言更容易实现,因为 Apache 没有很好的方法来维护不相关的 HTTP 请求之间的状态。
  • 除了 Apache 内置功能之外,您还有哪些可用的技术?
  • 如果您不要求它绝对防弹,您也可以通过 JavaScript 执行此操作,并且可以满足于随机性而不是可预测的顺序模式。所有这些域 www.recipeX.com 都是您的,还是您打算重定向到您不拥有的网站?
  • Michael,我正在使用 godaddys 托管,所以我认为他们拥有所有可用的资源。 (godaddy.com/hosting/web-hosting.aspx) 如果这就是你的建议,我可以用 Javascript 做一个 index.html。我不拥有recipex.coms,但我拥有原始的randomrecipes.com。如果您想知道,这不会用于垃圾邮件。它将作为我正在从事的一个有趣的项目。谢谢!

标签: .htaccess redirect


【解决方案1】:

如果这完全是 apache 的事情(例如,不使用脚本、DNS、控制器等),那么您可以使用 RewriteMap 指令并定义一个随机映射。 RewriteMap 指令只能在服务器或 vhost 配置中定义,因此如果您尝试在 htaccess 文件中定义它会出错。

在服务器/虚拟主机配置中,定义地图:

RewriteMap recipes rnd:/path/to/file/servers.txt

在您的servers.txt 文件中:

random_server recipe1|recipe2|recipe3|recipe4|recipe5|recipe6|recipe7|recipe8|recipe9

(等)

然后在您的服务器/虚拟主机配置或 www.randomrecipes.com 域文档根目录中的 htaccess 文件中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?randomrecipes\.com$ [NC]
RewriteRule ^/?$ http://www.${recipies:random_server}.com/ [L,R]

【讨论】:

  • 您好,由于我使用的是 Godaddy 的主机,我假设我无法正确编辑服务器或虚拟主机配置?我还有其他办法吗?我相信我只被授予 Godaddy 的公共目录。再次,非常感谢!
  • @Chaz 不,我不认为 Godaddy 的基本托管允许您定义重写地图。不,我认为没有任何其他纯粹的 apache 方式可以在不访问服务器/虚拟主机配置的情况下执行此操作。您必须将其指向为您重定向的脚本(如 php)。
  • 知道了。然后我将不得不查看 PHP 重定向。谢谢!
猜你喜欢
  • 2016-06-26
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 2011-05-24
相关资源
最近更新 更多