diff --git a/404.html b/404.html new file mode 100644 index 0000000..a8eb2d8 --- /dev/null +++ b/404.html @@ -0,0 +1,265 @@ + + + + + + + + + 404 - Page Not Found | BentoPDF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+

+ 404 +

+
+ + +

+ Page Not Found +

+ + +

+ Oops! The page you're looking for seems to have wandered off into the digital void. + Don't worry though, our PDF tools are still right where you left them. +

+ + + + + + +
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 0a4ccf8..09333c8 100644 --- a/index.html +++ b/index.html @@ -211,69 +211,6 @@ - -
-
-

Browse by Category

-

- Explore our comprehensive collection of PDF tools organized by category -

- - -
-
diff --git a/vite.config.ts b/vite.config.ts index b1b1964..8d1cbed 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -56,6 +56,11 @@ function pagesRewritePlugin(): Plugin { const pagePath = resolve(__dirname, 'src/pages', pageName); if (fs.existsSync(pagePath)) { req.url = `/src/pages${url}`; + } else if (url !== '/404.html' && !fs.existsSync(resolve(__dirname, pageName))) { + const rootExists = fs.existsSync(resolve(__dirname, pageName)); + if (!rootExists) { + req.url = '/404.html'; + } } } next(); @@ -217,6 +222,7 @@ export default defineConfig(({ mode }) => ({ terms: resolve(__dirname, 'terms.html'), licensing: resolve(__dirname, 'licensing.html'), tools: resolve(__dirname, 'tools.html'), + '404': resolve(__dirname, '404.html'), // Category Hub Pages 'pdf-converter': resolve(__dirname, 'pdf-converter.html'), 'pdf-editor': resolve(__dirname, 'pdf-editor.html'),