summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/orange-llamas-glow.md5
-rw-r--r--packages/astro/src/vite-plugin-astro-server/index.ts7
2 files changed, 5 insertions, 7 deletions
diff --git a/.changeset/orange-llamas-glow.md b/.changeset/orange-llamas-glow.md
new file mode 100644
index 000000000..21aeb0da8
--- /dev/null
+++ b/.changeset/orange-llamas-glow.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Updates routing logic to allow multiple routes to match the same URL in SSR
diff --git a/packages/astro/src/vite-plugin-astro-server/index.ts b/packages/astro/src/vite-plugin-astro-server/index.ts
index 7392ac33b..6cde51b4e 100644
--- a/packages/astro/src/vite-plugin-astro-server/index.ts
+++ b/packages/astro/src/vite-plugin-astro-server/index.ts
@@ -251,13 +251,6 @@ async function handleRequest(
async function matchRoute() {
const matches = matchAllRoutes(pathname, manifest);
- if (config.output === 'server' && matches.length > 1) {
- throw new Error(`Found multiple matching routes for "${pathname}"! When using \`output: 'server'\`, only one route in \`src/pages\` can match a given URL. Found:
-
-${matches.map(({ component }) => `- ${component}`).join('\n')}
-`);
- }
-
for await (const maybeRoute of matches) {
const filePath = new URL(`./${maybeRoute.component}`, config.root);
const preloadedComponent = await preload({ astroConfig: config, filePath, viteServer });