自动重定向到另一个HTML页面

48

如何编写语法,使页面自动重定向到不同文件夹中的不同HTML文件? 我所找到的所有内容都是关于如何从一个网站重定向到另一个网站的。


这取决于你正在处理哪种服务器技术以及你对它们的访问权限。你是否正在使用Apache并且可以在.htaccess文件中创建RewriteRule - Ding
1
请查看此链接:https://dev59.com/QW035IYBdhLWcg3wc_sm。您的问题似乎是重复的。 - Pavithra Ashwath
7个回答

77

其中一个会起作用......

<head>
  <meta http-equiv='refresh' content='0; URL=http://example.com/'>
</head>

...或者可以使用JavaScript来完成:

window.location.href = 'https://example.com/';


3
window.open 是一个弹出窗口。我认为 window.location 更好? - Jeff
安全方面怎么样?在隔离的情况下,有什么问题吗?如果有,是否有任何额外的措施可以帮助解决?此外,一个选项比另一个更好吗? - Eduardo Pignatelli

23

<meta http-equiv="refresh" content="5; url=http://example.com/">

这段代码是一个HTML标签,它会在页面加载后5秒自动刷新并跳转到指定的网址http://example.com/。

12

如果你正在使用Apache并且可以使用.htaccess文件,那么你应该使用以下类型的重定向。将以下内容添加到你网站根目录下的.htaccess文件中。

RewriteEngine On
RewriteRule ^/oldfile_path/file_name\.html$ /oldfile_path/file_name.html [R=301,L]

这种方法的优点是快速且立即重定向。它还取决于您进行重定向的原因。这是一种更持久的方法,因为它发送HTTP 301状态码,表示该文件已永久移动,并导致许多浏览器缓存该请求。您可以将代码更改为其他内容,例如302用于临时重定向。

否则,您可以使用HTML <meta>标签执行简单的重定向,如其他人所建议的:

<meta http-equiv="refresh" content="5; url=http://example.com/">

默认情况下,content="5" 将在5秒后进行重定向。这种方式较慢且不是所有浏览器都支持。也可以通过您选择的服务器语言(如PHPNode.js等)来完成重定向。


9
您可以使用 <meta> 标签刷新网页,并将其放在 <head> 部分中。
<META http-equiv="refresh" content="5;URL=your_url"> 

6

如果您想将网页重定向到另一个HTML文件,请按照以下方式使用:

<meta http-equiv="refresh" content"2;otherpage.html">

2 是您希望客户端在重定向之前等待的秒数。只有当它是一个 URL 时,才使用"url="来重定向到一个 HTML 文件,只需在 ';' 后面写下文件名即可。


4
这是一个晚些的答案,但我看到大多数人提到了“refresh”方法来重定向网页。根据W3C的规定,我们不应该使用“refresh”来重定向,因为这可能会破坏“返回”按钮。想象一下,用户按下“返回”按钮,刷新会再次生效,用户会被弹回去。用户很可能会感到非常恼怒,并关闭窗口,这可能不是你作为此页面作者所希望的结果。
相反,应该使用HTTP重定向。可以在这里参考完整文档:W3C文件

1

我可能有点晚了,但是这里有一种方法可以为您的网站设置重定向以及另一个链接,如果它们不能自动重定向,则使用该链接。

<meta charset="UTF-8" />
<meta http-equiv="refresh" content="5; url=YOUR_URL_HERE" />
<script type="text/javascript">
  window.location.href = "site";
</script>
<title>Page Redirection</title>

<!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
If you are not redirected automatically, follow this <a href="/site">Link</a>

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