You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Express+Node.js后端实现从index.ejs到根路径的重定向?

解决方法

1. 后端实现/index.ejs到/的重定向

Express自带的res.redirect()方法就能搞定,直接在/index.ejs的路由里返回重定向响应就行,用301永久重定向还能优化SEO:

// index.js
app.get("/", (req, res) => {
    res.render("index.ejs")
})

// 替换原来的渲染逻辑,改成重定向到根路径
app.get("/index.ejs", (req, res) => {
    res.redirect(301, "/")
})

2. 从根源避免带.ejs的URL(更推荐)

现在点击Home链接会跳转到index.ejs,本质是前端链接写得不对,直接把链接改成干净的路由路径,同时调整后端路由配置:

修改前端链接(header.ejs)

把href里的index.ejs、about.ejs这类后缀去掉,换成纯路径:

<%# index.ejs (header.ejs) %>
<div class="Header">
    <h1 class="w">Vishesh's Site</h1>
    <a class="r" href="/">Home</a>
    <a class="r" href="/about">About</a>
    <a class="r" href="/contact">Contact</a>
</div>

调整后端路由

给About、Contact页面配置对应的路由,渲染对应的EJS模板:

// index.js
app.get("/about", (req, res) => {
    res.render("about.ejs")
})

app.get("/contact", (req, res) => {
    res.render("contact.ejs")
})

这样用户不管怎么跳转,URL都是干净的/、/about、/contact,不会再出现.ejs后缀,彻底解决混淆问题。

内容的提问来源于stack exchange,提问作者Vishesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:57:33