---
title: Redirects
slug: redirects
description: Send visitors from old URLs to new ones with exact and wildcard redirect rules.
productSlug: cedros
productLabel: Cedros
sectionKey: settings
sectionLabel: Settings
---
# Redirects

Redirects send visitors from old URLs to new ones. When you move a page, rename a section, or retire a link, set up a redirect here so that anyone who follows the old address — from a bookmark, a search result, or another website — lands in the right place instead of hitting a dead page. This page lists every redirect you have and lets you add, edit, or remove them.

## What's on this page

The page has two views. It opens on the **overview** (the list of redirects). Clicking **Add New** or **Open** switches to the **detail** view (the editor for a single redirect). Saving or exiting returns you to the overview.

### Overview

The top of the page shows the title **Redirects** and the line "Send visitors from old URLs to new ones." On the right is an **Add New** button. If you don't have permission to make changes, the button is turned off and the header shows "Missing data:settings:write permission."

Below that is a card titled **Redirect Overview (N)**, where N is how many redirects you have, with the subtitle "Send visitors from old URLs to new ones." The card holds a table sorted alphabetically by the source path. Each row has these columns:

- **Source Pattern** — The old URL this rule matches, shown in bold. For an exact rule it's the literal path you typed. For a wildcard rule it ends with `/*`.
- **Destination** — Where visitors are sent. For a wildcard rule that forwards the rest of the URL it ends with `/*`; otherwise it's the literal path.
- **Status Code** — The HTTP redirect code (such as 301 or 302), shown in a small pill.
- **Type** — One of **Exact**, **Wildcard**, or **Wildcard + Forward**. See the editor section below for what each means.
- **Note** — Your optional internal note for this rule, or an em-dash (—) if you didn't add one.
- **(Actions)** — Two buttons at the end of each row: **Open** opens the rule in the editor, and **Delete** removes it. **Delete** is turned off while a change is in progress or if you don't have permission.

The card also has its own **Add New** button. If you have no redirects yet, the table shows "No redirects configured."

A status message may appear below the card after you save or delete — for example "Changes saved." or "Redirect deleted."

### Detail (the editor)

This view opens when you click **Add New** or **Open**. The header shows **New Redirect** when you're creating one or **Edit Redirect** when you're changing an existing one. If you lack permission, the header shows "Missing data:settings:write permission" and every field is turned off.

Two buttons sit in the header:

- **Exit** — Leaves the editor without saving and returns to the list. Any in-progress edits are discarded.
- **Save** — Saves the redirect and returns to the list. It stays turned off until you've made a change (and is off entirely without permission).

The form has these fields, top to bottom:

- **Redirect type** — A dropdown with two choices: **Exact redirect** (matches one specific page) and **Whole section (wildcard)** (matches everything under a section). Switching to a whole section also clears the "Keep the rest of the URL" option described below.
- **From URL** / **From URLs (pattern)** — The old address to match. For an exact rule the label is "From URL" with the placeholder `/old-path`. For a wildcard rule the label is "From URLs (pattern)" with the placeholder `/shop/*`. Underneath is a hint: "This matches only the single page you typed." for exact, or "A wildcard like /shop/* matches every page under that section." for wildcard.
- **Send visitors to** — The new address. The placeholder is `/store/*` when you're forwarding the rest of the URL, and `/new-path` otherwise.
- **Keep the rest of the URL (e.g. /shop/widget → /store/widget)** — A checkbox shown only in wildcard mode. When checked, the part of the address after the matched section is carried over to the destination. A hint below reads: "Tip: type wildcards with a `*` at the end, like `/shop/*` or `/store/*`."
- **Internal note (optional)** — A free-text note just for you (placeholder "e.g. migrated blog to a new URL"). It appears in the **Note** column and isn't shown to visitors.
- **Advanced** — A collapsed section labeled "Choose a different redirect code — the default is usually right." Open it to reveal the **Redirect code** dropdown with four choices: **Permanent (301) — recommended** (the default), **Temporary (302)**, **Temporary, strict (307)**, and **Permanent, strict (308)**.

A status message may appear below the form if a save fails. The editor also keeps your unsaved edits in your browser as you type and offers them back when you reopen it, though no on-screen indicator is shown.

## Common things you can do here

### Redirect one specific page

Click **Add New**. Leave **Redirect type** on **Exact redirect**. In **From URL** type the old path (for example `/about-old`). In **Send visitors to** type the new path (for example `/about`). Click **Save**.

### Redirect a whole section

Click **Add New** and set **Redirect type** to **Whole section (wildcard)**. In **From URLs (pattern)** type the section with a trailing star, like `/shop/*`. In **Send visitors to** type the destination. Click **Save**. This catches every page under that section in one rule.

### Keep the rest of the URL when redirecting a section

In wildcard mode, check **Keep the rest of the URL**. Now `/shop/widget` goes to `/store/widget`, `/shop/hat` goes to `/store/hat`, and so on — the part after the matched section is carried across. The **Type** column will show **Wildcard + Forward** for this rule.

### Change the redirect code

Most redirects should stay on the default, 301 (permanent). If a move is temporary, open the **Advanced** section in the editor and pick **Temporary (302)**. The "strict" codes (307 and 308) preserve the request method and are only needed in special cases.

### Edit or delete an existing redirect

In the overview, click **Open** on a row to edit it, or **Delete** to remove it. After a delete you'll see "Redirect deleted." and the list refreshes.

## Tips

- **301 is the right choice for permanent moves.** It tells browsers and search engines the change is permanent so they update their links. Use 302 only when the move is temporary.
- **Exact vs. wildcard.** Use an exact rule for a single page. Use a wildcard when you've moved or retired an entire section and want one rule to cover all of it.
- **"Keep the rest of the URL" only appears for wildcards.** It's hidden in exact mode because there's nothing to forward.
- **Notes are for you, not visitors.** Use the **Internal note** field to record why a redirect exists (for example, "migrated blog to a new URL"). It never affects where visitors go.
- **Your draft is saved as you type.** If you close the tab mid-edit, your unsaved changes are kept in your browser and offered back when you reopen the editor.
- **Permissions matter.** Without the redirects write permission, the editor fields and the **Add New**, **Delete**, and **Save** buttons are turned off, and you'll see "Missing data:settings:write permission" in the header. Ask an admin for access.

## Troubleshooting

- **Save is turned off?** It only turns on once you've actually changed something. If you haven't edited a field yet, there's nothing to save. If it stays off after editing, check that you have permission (see the header banner).
- **The whole form is greyed out?** You don't have the redirects write permission. The header will show "Missing data:settings:write permission." Ask an admin to grant it.
- **My wildcard isn't catching pages?** Make sure the pattern ends with `/*` (for example `/shop/*`, not `/shop`). The placeholder text in the field shows the expected format.
- **Pages aren't carrying their tail to the new section?** That requires **Keep the rest of the URL** to be checked. Without it, every matched page goes to the single fixed destination you typed. Look for **Wildcard + Forward** in the **Type** column to confirm forwarding is on.
- **Save failed with an error message?** The editor stays open and shows the reason below the form. Fix the flagged issue (usually a malformed path) and click **Save** again.
- **The list didn't update after I saved on another device?** The overview refreshes on its own at a set interval, but the editor doesn't. Exit to the overview to pull the latest list.
