jargons.dev
jargons.dev copied to clipboard
Implement Redirect to First Page Route for Alphabetical Browse
Currently, when a user visits the /browse/[alpha]
(example "/browse/a") route, they receive a 404 error. This issue requests implementing a redirect to the first page route (/browse/[alpha]/1
i.e. "/browse/a/1") when a user visits /browse/[alpha]
. This will ensure a smoother browsing experience for users.
Steps to Implement:
- Detect when a user visits the
/browse/[alpha]
route without specifying a page number. - Redirect the user to the first page route (
/browse/[alpha]/1
).
Implementation Note:
-
The following code snippet could be implemented into a
/browse/[alpha]/index.astro
file to handle the redirection:--- /** * Redirect traffic from `/[alpha]` to `/[alpha]/1` to avoid 404 error */ return Astro.redirect(`${Astro.params.alpha}/1`); ---
However, there's a build conflict with
/browse/[...slug]
, so it's important to understand the Route Priority Order for this to work.
Acceptance Criteria:
- When a user visits the
/browse/[alpha]
route, they should be automatically redirected to the first page route (/browse/[alpha]/1
). - The redirect should happen seamlessly without any additional user input.
Additional Information:
- This enhancement will improve user experience by ensuring that users are directed to the correct page when browsing alphabetically.
- It's important to state that I have tried the stated implementation in the implementation note and experienced the conflict myself, It worked by redirecting, but the words route that gets built from
src/content/dictionary
were also getting the redirects; not nice 😞