Skip to content

Page with At sign (@) at the beginning of the file name ignored by routes #2451

Closed
@maxcoredev

Description

@maxcoredev

Describe the bug

Hello everyone. In my project I want:

https://example.com/123 <- to be an article detail page
https://example.com/@123 <- to be a user detail page

And If i create two files:

  1. [id].svelte
  2. @[id].svelte

it does not work. It always goes with [id].svelte

However, this works as expected:

  1. [id].svelte
  2. u[id].svelte

Reproduction

1) Create two files:

  1. [id].svelte
  2. @[id].svelte

2) [id].svelte:

<script context="module">
    export const load = async ({page}) => {
        console.log(page.params.id) 
    };
</script>

3) Navigate browser to http://localhost:3000/@1
4) See output of console.log(page.params.id)
It'll be @1 instead of 1

System Info

System:
  OS: macOS 11.4
  CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Memory: 253.82 MB / 16.00 GB
  Shell: 3.2.57 - /bin/bash
Binaries:
  Node: 16.6.2 - /usr/local/bin/node
  Yarn: 1.22.11 - /usr/local/bin/yarn
  npm: 7.20.3 - /usr/local/bin/npm
Browsers:
  Chrome: 93.0.4577.82
  Safari: 14.1.1
npmPackages:
  svelte: ^3.34.0 => 3.42.6

Severity

annoyance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions