当前位置:首页 > JavaScript

js实现301重定向

2026-03-01 22:07:50JavaScript

使用 window.location 实现重定向

通过修改 window.location.hrefwindow.location.replace 实现页面跳转。replace 方法不会在历史记录中留下原始页面,更适合模拟 301 重定向。

// 方法1:直接修改 href(会保留历史记录)
window.location.href = "https://example.com/new-page";

// 方法2:使用 replace(无历史记录)
window.location.replace("https://example.com/new-page");

通过 HTTP 响应头实现

在服务器端设置 HTTP 状态码为 301 并返回 Location 头,这是标准的 301 重定向方式。前端可通过 fetchXMLHttpRequest 检测重定向,但无法直接控制。

// 示例:检测服务器是否返回 301
fetch("/old-page", { redirect: "manual" })
  .then(response => {
    if (response.status === 301) {
      window.location.href = response.headers.get("Location");
    }
  });

使用 <meta> 标签重定向

通过 HTML 的 <meta> 标签实现客户端重定向,但这种方式不是真正的 301 重定向(搜索引擎可能视为 302)。

<meta http-equiv="refresh" content="0; url=https://example.com/new-page">

注意事项

  • SEO 影响:纯前端方法(如 window.location)无法传递 301 状态码,搜索引擎可能视为 JavaScript 跳转而非永久重定向。
  • 性能优化:301 重定向应优先通过服务器配置(如 Apache 的 .htaccess 或 Nginx 的 rewrite)实现。
  • 缓存问题:浏览器可能缓存 301 重定向,测试时需清除缓存。

服务器端配置示例(补充参考)

若需标准 301 重定向,推荐在服务器配置中完成:

Apache (.htaccess)

Redirect 301 /old-page https://example.com/new-page

Nginx

js实现301重定向

location /old-page {
    return 301 https://example.com/new-page;
}

标签: 重定向js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…