如何将网页从一个域名重定向到另一个域名?

7
如何在第一个域名(网页)加载时将域名重定向到另一个域名?
4个回答

18

以下是一种纯HTML的替代方法,在您的HTML <head> 中使用以下<meta>标记:

<meta charset="UTF-8">
<meta http-equiv="refresh" content="0;http://anotherdomain.com">

这里的0是页面在重定向之前等待的秒数。在这种情况下,页面一旦加载就会立即重定向。与建议使用JavaScript解决方案相反,即使在禁用JS的浏览器中,此方法也能正常工作。

然而,如果您可以轻松地挂接服务器端代码(即响应尚未提交等),那么我仍然更喜欢上述HTML/JS解决方案。


遗憾的是,这只是将URI附加到当前路径的末尾,而不是重定向到该网站。 - Douglas Gaskell
1
使用绝对URL而不是相对URL? - BalusC

15

有几种方法可以实现这个功能。其中一种是向body标签添加一个onload事件,将window.location设置为新域名。

<script language=javascript>
function redirect(){
  window.location = "http://example.com";
}
</script>

<body onload="redirect()">

</body>

使用ASP.NET重定向头方法更加高效,但这种方法肯定可以工作。(只要启用JavaScript。) - John Parker
同意。根据服务器设置,Web 服务器层面上也可能会有重定向。BalusC 也有一个不错的解决方案。 - Barlow Tucker

1
<% Response.Redirect ("http://example.com") %>

请参见此处以获取更多信息。


0

如果您无法通过HTML方式(meta refresh)实现它,例如如果您想添加条件检查,则可以使用JavaScript作为最后的手段来通过设置URL的主机名(而不是主机)部分来重定向到不同的域,例如:

<script>
     window.location.hostname = 'new-domain-example.com'
</script>

这将把您重定向到具有替换域的相同URL(包括协议、端口、查询字符串、哈希)。 请注意,此脚本可以与元标记一起放置在HTML头中(https://developers.google.com/search/docs/crawling-indexing/301-redirects#jslocation)。

以下是一个很好的可视化示例,以了解位置对象上的所有属性:https://developer.mozilla.org/zh-CN/docs/Web/API/Location#location_anatomy


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接