diff --git a/.astro/types.d.ts b/.astro/types.d.ts
index 03d7cc43f..f964fe0cf 100644
--- a/.astro/types.d.ts
+++ b/.astro/types.d.ts
@@ -1,2 +1 @@
///
-///
\ No newline at end of file
diff --git a/src/pages/404.astro b/src/pages/404.astro
index fd6c38ec0..9e4261b86 100644
--- a/src/pages/404.astro
+++ b/src/pages/404.astro
@@ -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/'];
---
diff --git a/src/pages/[roadmapId]/[...topicId].astro b/src/pages/[roadmapId]/[...topicId].astro
index f095b7a58..dbda28046 100644
--- a/src/pages/[roadmapId]/[...topicId].astro
+++ b/src/pages/[roadmapId]/[...topicId].astro
@@ -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;