.htaccess在隐藏重定向时重定向到外部URL

Ben*_*all 5 apache .htaccess

我希望能够将指向我的虚拟主机的域重定向到外部域.

例如,我在.htaccess中有这个:

RewriteCond %{HTTP:Host} ^(?:www\.)?mydomain\.example$ 
RewriteRule ^(.*)$ http://myexternal.example/site [R=301,NC]
Run Code Online (Sandbox Code Playgroud)

但是,当我访问域时,地址栏中的URL将更改为http://myexternal.example/site.

如何在不更改URL的情况下重定向?

还有另一种方法吗?我需要使用框架/ iframe吗?

小智 8

很久以前,但我会回答那些来谷歌的人(像我一样).答案很简单:

在你的htaccess中,删除R = 301部分(当然还有逗号).

R = 301表示您通过301重定向执行此操作.你不希望这样


Mat*_*ley 3

可以是单帧框架集,也可以是宽度/高度设置为 100% 的 iframe。

我不确定较新版本的 HTML 是否支持框架集,但浏览器仍然可以理解旧版本……但无论如何,单个 iframe 很容易。

<html>
<head>
<title>My Site</title>
<style>
body {
    margin: 0;
    padding: 0;
}
body, iframe {
    width: 100%;
    height: 100%;
}
iframe {
    border: 0;
}
</style>
</head>

<body>
<iframe src="http://example.com" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)