我希望我的一个域名(freelawofattractioncourse.com)指向我的另一个网站上的页面(https://dr.katievb.com/freecourse),而不会导致访问者地址栏中的 URL 发生变化。
换句话说,当用户浏览 freelawofattractioncourse.com 时,freelawofattractioncourse.com 应该保持在地址栏中可见,但屏幕应该显示来自https://dr.katievb.com/freecourse(访问者甚至不知道 katievb.com 的存在)。
我的 WordPress 网站托管在 Cloudways 服务器上。我还使用 CloudFlare,并且设置了“转发”页面规则,以便 freelawofattractioncourse.com 被跳转到https://dr.katievb.com/freecourse(但这不是我想要的,因为它明显改变了浏览器地址栏中的 URL)。
CloudFlare(或其他服务)中是否有可以让我实现域名屏蔽目标的设置?
PS 我不想使用 iframe。
另外,我认为以下列方式编辑 htaccess 可以实现我的目标:
RewriteCond %{HTTP_HOST} freelawofattractioncourse.com$ [NC]
RewriteRule ^(.*)$ http://katievb.com/freecourse [P]
但http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_p说“必须启用 mod_proxy”,而 Cloudways(我的服务器提供商)不允许这样做(并且不允许我编辑 Apache 虚拟主机)。
答案1
虽然这不是一个推荐的解决方案,但您可以使用 iframe 来伪造它,以使用 HTML 将其他网站的内容直接加载到您的网站中。
请注意,这是不是符合 HTML5 标准,但无论如何它都应该适用于大多数浏览器。
在根 www 文件夹中创建包含以下内容的 index.html
<!DOCTYPE html>
<html>
<head>
<title>Free Law Of Attraction Course by Dr. Katie VanBuskirk</title>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body>
<iframe src="http://katievb.com/freecourse" scrolling="no"></iframe>
</body>
</html>
然后在同一文件夹中创建一个 default.css 文件,其中包含
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
这在大多数浏览器中都有效,并且不会显示其他网站的地址。