> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/zh/fa-bu/site-redirects.md).

# 站点重定向

设置站点重定向，将流量路由到你站点任意位置的内容

GitBook 仅会将 308 发送给线上公开内容的未认证视图，用于永久重定向。来自 GitBook 应用、预览以及经过访客认证的会话的请求会收到 307。这样可以避免意外的本地缓存。

搜索引擎和匿名访客在永久重定向时始终会收到 308。此状态有利于 SEO。

<table data-search="false"><thead><tr><th>source</th><th>目标</th><th>意图</th><th>结果</th></tr></thead><tbody><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>空白</td><td>创建或更新一个已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>已发布</td><td>创建或更新一个已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>草稿</td><td>创建或更新一个草稿重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>空白</td><td>移除已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>已发布</td><td>移除已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>草稿</td><td>移除草稿重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>publish</td><td>将现有草稿重定向发布为线上版本</td></tr></tbody></table>

<figure><img src="https://1050631731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2FSOD2dR0Bb3RtX6Avb7vg%2F26_01_06_redirects%402x.png?alt=media&#x26;token=7e2bf0a2-947c-46d7-96ff-a4e6b54e60b2" alt="A GitBook screenshot showing site redirects"><figcaption><p>当迁移文档或重组内容时，站点重定向很有用，可避免失效链接，因为这些链接会影响 SEO。</p></figcaption></figure>

在将文档从一个提供商迁移到另一个提供商时，重定向通常很有用——比如你刚把文档迁移到 GitBook 时。失效链接会影响 SEO，因此我们建议在需要的地方设置重定向。

除了 [GitBook 自动创建的重定向](#about-automatic-redirects)之外，你还可以从站点域名中的任意路径创建重定向。

重定向可以创建为以下两种类型： **已发布** 或 **草稿**。草稿重定向可让你在发布前准备并审查重定向规则。草稿在启用之前不会影响你的线上站点。

## 管理站点上的重定向

要开始使用，请打开你站点的 **设置**，在站点侧边栏的 **常规** ，然后在站点侧边栏中点击 **重定向**.

### 创建重定向

点击 **添加重定向** 并选择 **手动** 选项。

填写 **源路径** ——你想要重定向的 URL slug——以及 **目标** 内容，也就是你希望将访客发送到的页面。你可以选择站点上的任意分区、版本或页面。

选择某个页面会将目标存储为页面引用，即使你在站点结构中移动了该页面，它也仍会解析到该页面。改为输入 URL 路径则只会精确匹配该路径，因此如果页面移动并且路径发生变化，重定向就会失效。请尽可能选择页面。

### 选择重定向状态

创建或编辑重定向时，请选择其 HTTP 状态：

* **临时（307）** 告诉浏览器和搜索引擎目标可能会变更。用于临时迁移。
* **永久（308）** 告诉浏览器和搜索引擎源 URL 已永久迁移。用于你不打算恢复旧 URL 的情况。

这两种状态码在重定向时都会保留请求方法和请求体。

GitBook 仅会将 308 发送给线上公开内容的未认证视图，用于永久重定向。来自 GitBook 应用、预览以及经过访客认证的会话的请求会收到 307。这样可以避免意外的本地缓存。

搜索引擎和匿名访客在永久重定向时始终会收到 308。此状态有利于 SEO。

点击 **启用重定向** 以立即启用该重定向。

如果你想先创建重定向但暂不让它生效，请改为点击 **保存为草稿** 。草稿重定向会显示在 **草稿** 选项卡中，并可稍后启用。

你也可以通过添加 **通配符重定向** 来创建，只需在源路径末尾添加 \*，例如：

* /docs/\* 匹配 /docs/ 下的所有内容
* /changelog\* 匹配以 /changelog 开头的路径

当你的源路径包含通配符（\*）时，你可以启用 **用匹配文本替换通配符**.

* **开启：** \* 所匹配的部分会附加到目标路径。
  * 示例：源 /docs/\* → 目标 /help\n/docs/install 会重定向到 /help/install
* **关闭：** 所有匹配的 URL 都会重定向到同一个固定目标。
  * 示例：源 /docs/\* → 目标 /help\n/docs/install 会重定向到 /help

如果你想把另一个重定向添加到同一页面，请先切换 **添加另一个重定向** ，然后再点击 **启用重定向** 或 **保存为草稿**.

添加重定向后，模态框会保持打开，并将目标内容设为你上一次的选择，这样你就可以快速添加另一个源路径。

{% hint style="warning" %}
**注意：** GitBook 会不区分大小写地解析已发布的 URL，因此仅大小写不同的两个重定向会被视为同一路径。如果你是从使用区分大小写 URL 的平台迁移，可能需要在导入前合并重定向。
{% endhint %}

### 编辑重定向

要编辑重定向，请点击列表中它旁边的 **编辑** 图标。更新重定向后点击 **启用重定向** 以发布你的更改。

如果该重定向当前是一个 **草稿**，你也可以在编辑模态框中直接点击 **启用重定向**.

### 启用草稿重定向

草稿重定向会显示在重定向表格的 **草稿** 选项卡中。

你可以通过两种方式发布草稿重定向：

• 打开该重定向并点击 **启用重定向** 在编辑模态框中。\n• 使用表格中的 **切换开关** 直接启用该重定向。

启用后，重定向会移至 **已发布** 选项卡，并立即开始为访客路由。

### 从 CSV 导入重定向

点击 **添加重定向** 并选择 **上传 CSV**.

上传一个包含以下列的 CSV： `source`, `目标`，以及可选的 `意图`.

* `source` 是你想要重定向的路径，例如 /docs/site-redirects
* `目标` 可以是：
  * 某个特定页面，使用下方截图所示的该页面应用 URL
  * 外部 URL
  * 根据意图而定，可留空
* `意图` 可以是：
  * live，留空，或完全省略，用于创建、更新或移除一个已发布重定向
  * draft，用于创建、更新或移除草稿重定向
  * publish，用于将现有草稿重定向发布为线上版本， `目标` 必须留空。

<div data-with-frame="true"><figure><img src="https://1050631731-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2Fgit-blob-1811bdc6a92d7e88fd724f3249aaae4a9350f1c0%2Fimage.png?alt=media" alt=""><figcaption><p>你可以在此菜单中找到某个页面的 GitBook 应用 URL</p></figcaption></figure></div>

应用 URL 会将目标存储为页面引用，并具有与固定路径相比相同的优势，详见 [创建重定向](#creating-redirects).

每次导入最多支持 500 行。

如果你的 CSV 包含重复的源值，则只处理第一行。导入会以 upsert 方式运行：具有相同源的现有重定向会被更新，而对于尚不存在的源则会创建新的重定向。

如果任何行失败，可在右下角的提示中获取错误 CSV。它包含源、目标以及每个错误的简短说明，这样你就可以修复后删除错误列并重新导入。

#### CSV 示例

<table data-search="false"><thead><tr><th>source</th><th>目标</th><th>意图</th><th>结果</th></tr></thead><tbody><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>空白</td><td>创建或更新一个已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>已发布</td><td>创建或更新一个已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>https://example.com/page</td><td>草稿</td><td>创建或更新一个草稿重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>空白</td><td>移除已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>已发布</td><td>移除已发布重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>草稿</td><td>移除草稿重定向</td></tr><tr><td>/docs/site-redirects</td><td>空</td><td>publish</td><td>将现有草稿重定向发布为线上版本</td></tr></tbody></table>

## 关于自动重定向

每当页面被移动或重命名时，其规范 URL 也会随之改变。为了让你的内容保持可访问，GitBook 会自动创建一个 [HTTP 307](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/307) 从旧 URL 到新 URL 的重定向。

每次加载 URL 时，GitBook 都会按以下步骤解析：

1. 站点内容会通过跟随任何自动创建的重定向来解析为其规范 URL。
2. 如果无法解析该 URL，则会将该 URL 与章节级重定向进行比对，这些重定向定义在你的仓库的 `.gitbook.yaml` 文件中。
3. 最后，会检查该 URL 是否匹配站点级重定向，这些重定向通过 [上述流程](#creating-redirects).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gitbook.com/docs/documentation/zh/fa-bu/site-redirects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
