gpt4 book ai didi

.htaccess 将 2 个不同的域名重定向到单独的 "landing pages"

转载 作者:行者123 更新时间:2023-12-04 11:38:42 31 4
gpt4 key购买 nike

根据要求,为了清楚起见,我重新表述了我的问题,以便其他人可能从答案中受益。

我工作的公司有 3 个域名:

bizwizprint.com(托管在共享服务器上的主网站)

bizwizsigns.com(没有附加主机的二级域名)

boatwiz.com(没有附加主机的三级域名)

目标是让我的第二个和第三个域重定向到第一个域到他们各自的登录页面。

第一步 :在域名注册商处,将第二个和第三个域的 DNS“A 记录”更改为与主网站所在的 IP 地址相同的 IP 地址。

第二步:在主网站服务器上为第二个和第三个域创建一个“站点别名”,它们将指向主网站文件所在的根目录。

第三步:创建或编辑一个 .htaccess 文件,该文件将重定向对第二个和第三个域的请求,并将它们指向我为它们创建的登录页面。

问题:我在 htaccess 中添加了哪些规则?

本质上,我希望用户在地址栏中输入“boatwiz.com”,浏览器将直接转到“bizwizprint.com/boatwiz.html”。

请注意:我不希望任何将实际 URL 更改为boatwiz 的重写规则。

这样做的原因是它是暂时的。最终会有一个真正的“boatwiz”网站和“bizwizsigns”网站,它们的结构很可能会大不相同。我不希望它显示我拥有三个包含所有相同内容的域,或者让人们制作任何我将来需要再次重定向的书签。

最佳答案

“如何将外部域 (boatwiz.com) 重定向到新域 (bizwizprint.com/boatwiz.html) 的特定页面而无需任何重写?”

所以你可能是说你想要一个“内部重定向”,而不是“外部重定向”,对吧? IE。你想要例如bizwizsigns.com保持显示在浏览器位置栏中,但显示内容
bizwizprint.com/signs , 对?

1. htaccess only - 不可能

好吧,只使用 .htaccess,这是不可能的,因为不同的域会强制外部重定向。引用 the docs :

Absolute URL

If an absolute URL is specified, mod_rewrite checks to see whether the hostname matches the current host. If it does, the scheme and hostname are stripped out and the resulting path is treated as a URL-path. Otherwise, an external redirect is performed for the given URL. To force an external redirect back to the current host, see the [R] flag below.



2. iframe 技巧

你可以做的是使用 iframe。将此代码放在 bizwizsigns.com/index.html :
<iframe src="http://bizwizprint.com/signs" width="100%" height="100%" 
style="border: 0 none;" frameborder="0">

但是这个解决方案有很多缺点:
  • 即使用户在 iframe
  • 内单击,URL 也不会在浏览器的位置栏中更改
  • 浏览器书签和历史记录将无法按预期工作。

  • 3.巧妙的主机设置(域别名到同一个目录)

    您是在托管环境中,还是拥有自己的服务器?有时,托管允许您为由同一本地目录树处理的多个域创建别名。在这种情况下,您赢了 - 您可以编写 .htaccess 以便它将请求作为内部重定向处理:
    RewriteCond %{HTTP_HOST} bizwizsigns\.com$ [NC]
    RewriteRule ^$ /signs [L]

    RewriteCond %{HTTP_HOST} boatwiz\.com$ [NC]
    RewriteRule ^$ /boats [L]

    这将(内部)重定向 bizwizsigns.com到/signs(= 您的内容 bizwizprint.com/signs ,因为您有一个用于所有 3 个域的托管服务器目录)。但是如果你例如想要所有类似 bizwizsigns.com/<foo> 的查询被重定向到 bizwizprint.com/signs/<foo> ,你要多加小心——见 REQUEST_URI上的附加条件防止无限循环:
    RewriteCond %{HTTP_HOST} bizwizsigns\.com$ [NC]
    RewriteCond %{REQUEST_URI} !^/signs/ [NC]
    RewriteRule ^.*$ /signs/$1 [L]

    关于.htaccess 将 2 个不同的域名重定向到单独的 "landing pages",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20848848/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com