Add 404 handling

pull/8471/head
Kamran Ahmed 6 days ago
parent a2e83e909e
commit 7f28a755dc
  1. 1
      .astro/types.d.ts
  2. 2
      src/pages/404.astro
  3. 10
      src/pages/[roadmapId]/[...topicId].astro

1
.astro/types.d.ts vendored

@ -1,2 +1 @@
/// <reference types="astro/client" />
/// <reference path="content.d.ts" />

@ -3,8 +3,6 @@ import Icon from '../components/AstroIcon.astro';
import BaseLayout from '../layouts/BaseLayout.astro';
import { getRoadmapIds } from '../lib/roadmap';
export const prerender = true;
const roadmapIds = await getRoadmapIds();
const legacyRoadmapUrls = [...roadmapIds.map((id) => `/${id}/`), '/roadmaps/'];
---

@ -10,7 +10,10 @@ export const prerender = false;
const { topicId, roadmapId } = Astro.params;
if (!topicId || !roadmapId) {
return Astro.redirect('/404');
Astro.response.status = 404;
Astro.response.statusText = 'Not found';
return Astro.rewrite('/404');
}
// Handle nested paths by joining the segments
@ -48,7 +51,10 @@ if (!fs.existsSync(contentPath)) {
);
if (!fs.existsSync(indexFilePath)) {
return Astro.redirect('/404');
Astro.response.status = 404;
Astro.response.statusText = 'Not found';
return Astro.rewrite('/404');
}
contentPath = indexFilePath;

Loading…
Cancel
Save