当前位置:首页 > 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
分享给朋友:

相关文章

jquery js

jquery js

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

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现 功能

js实现 功能

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