mirror of
https://github.com/withastro/astro.git
synced 2025-03-10 23:01:26 -05:00
Fix vercel redirects with trailingSlash always (#7447)
This commit is contained in:
parent
0a2331ba40
commit
8386809a8b
3 changed files with 15 additions and 2 deletions
|
@ -87,7 +87,7 @@ export function getRedirects(routes: RouteData[], config: AstroConfig): VercelRo
|
|||
headers: { Location: getRedirectLocation(route, config) },
|
||||
status: getRedirectStatus(route),
|
||||
});
|
||||
} else if (route.type === 'page') {
|
||||
} else if (route.type === 'page' && route.route !== '/') {
|
||||
if (config.trailingSlash === 'always') {
|
||||
redirects.push({
|
||||
src: config.base + getMatchPattern(route.segments),
|
||||
|
|
0
packages/integrations/vercel/test/fixtures/redirects/src/pages/subpage.astro
vendored
Normal file
0
packages/integrations/vercel/test/fixtures/redirects/src/pages/subpage.astro
vendored
Normal file
|
@ -1,5 +1,4 @@
|
|||
import { expect } from 'chai';
|
||||
import * as cheerio from 'cheerio';
|
||||
import { loadFixture } from './test-utils.js';
|
||||
|
||||
describe('Redirects', () => {
|
||||
|
@ -18,6 +17,7 @@ describe('Redirects', () => {
|
|||
},
|
||||
'/blog/[...slug]': '/team/articles/[...slug]',
|
||||
},
|
||||
trailingSlash: 'always',
|
||||
experimental: {
|
||||
redirects: true,
|
||||
},
|
||||
|
@ -56,4 +56,17 @@ describe('Redirects', () => {
|
|||
expect(blogRoute.headers.Location.startsWith('/team/articles')).to.equal(true);
|
||||
expect(blogRoute.status).to.equal(301);
|
||||
});
|
||||
|
||||
it('define trailingSlash redirect for sub pages', async () => {
|
||||
const config = await getConfig();
|
||||
|
||||
const subpathRoute = config.routes.find((r) => r.src === '/\\/subpage');
|
||||
expect(subpathRoute).to.not.be.undefined;
|
||||
expect(subpathRoute.headers.Location).to.equal('/subpage/');
|
||||
});
|
||||
|
||||
it('does not define trailingSlash redirect for root page', async () => {
|
||||
const config = await getConfig();
|
||||
expect(config.routes.find((r) => r.src === '/')).to.be.undefined;
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue