【问题标题】:If 404 error, redirect to pageNotFound and then redirect to home page如果 404 错误,重定向到 pageNotFound 然后重定向到主页
【发布时间】:2018-03-05 03:49:58
【问题描述】:

我正在使用 Node JS 创建一个网站,如果用户尝试转到一个不存在的页面,那么我想重定向到一个显示“页面未找到..重定向到主页”的页面,然后在 5 之后秒,重定向到索引页面。我有索引和 pageNotFound 的 html 文件,但我读到重定向到多个页面是不好的做法。我想知道是否有人对如何做到这一点有更好的想法。

  1. 用户进入了不存在的页面
  2. 转到 /pageNotFound
  3. 暂停以便用户阅读页面
  4. 转到索引页面

这会捕获用户尝试访问的所有剩余页面:

app.get('*', function(req, res){
    res.redirect('/pageNotFound');
});

用户被重定向到pageNotFound.html

app.get("/pageNotFound", function(req, res) {
    res.render("pageNotFound");
});

【问题讨论】:

  • 您可以通过将reload 语句放入您的 404 错误页面来执行类似的操作,但许多人表示通过自动重新加载来移除用户的控制权并不是一个好主意。您是否考虑在 404 错误页面上放置指向主页的链接?这样,用户将保持控制。另一种方法是在主页上显示一条额外的“未找到”消息,用户可以关闭。

标签: javascript html node.js ejs


【解决方案1】:

您可以在 pageNotFound 和 window.location 上使用 setTimeout 函数在 5 秒后重定向到主页。

setTimeout(function(){ window.location="homePage"; }, 5000);

【讨论】:

  • 如果您不想依赖 JavaScript,可以使用 meta 标头:<meta http-equiv="refresh" content="5; URL=/home…">
猜你喜欢
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2010-12-06
  • 2023-03-10
  • 2016-11-17
  • 1970-01-01
相关资源
最近更新 更多