Skip to content

Commit 265acef

Browse files
committed
Example: add middleware rewrite and 404 test pages
1 parent 229c032 commit 265acef

File tree

3 files changed

+41
-1
lines changed

3 files changed

+41
-1
lines changed

example/middleware.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { NextResponse } from "next/server";
22

33
export async function middleware(request) {
4+
if (request.nextUrl.pathname === "/middleware-rewrite") {
5+
const { nextUrl: url } = request
6+
url.searchParams.set("rewritten", "true")
7+
return NextResponse.rewrite(url);
8+
}
49
if (request.nextUrl.pathname === "/middleware-redirect") {
510
return NextResponse.redirect(new URL("/middleware-redirect-destination", request.url));
611
}
@@ -42,5 +47,11 @@ export async function middleware(request) {
4247
}
4348

4449
export const config = {
45-
matcher: ["/middleware-redirect", "/middleware-set-header", "/middleware-fetch", "/middleware-geolocation"],
50+
matcher: [
51+
"/middleware-rewrite",
52+
"/middleware-redirect",
53+
"/middleware-set-header",
54+
"/middleware-fetch",
55+
"/middleware-geolocation",
56+
],
4657
}

example/pages/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@ export default function Home({}) {
3131
<Link href={`/ssr-redirect`}>Server Side Rendering — redirect</Link><br />
3232
<Link href={`/ssr-not-found`}>Server Side Rendering — page not found</Link><br />
3333
<Link href={`/api-route`}>API Route</Link><br />
34+
<Link href={`/middleware-rewrite`}>Middleware — rewrite</Link><br />
3435
<Link href={`/middleware-redirect`}>Middleware — redirect</Link><br />
3536
<Link href={`/middleware-set-header`}>Middleware — set header</Link><br />
3637
<Link href={`/middleware-geolocation`}>Middleware — geolocation</Link><br />
3738
<Link href={`/image-optimization-imported`}>Image Optimization — imported image</Link><br />
3839
<Link href={`/image-optimization-remote`}>Image Optimization — remote image</Link><br />
3940
<Link href={`/image-html-tag`}>Image using html image tag</Link><br />
41+
<Link href={`/page-does-not-exist`}>404 Page not found</Link><br />
4042
</section>
4143
</Layout>
4244
);

example/pages/middleware-rewrite.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import Layout from "../components/layout";
2+
3+
export async function getServerSideProps(context) {
4+
return {
5+
props: {
6+
isRewritten: context.query.rewritten === "true"
7+
? "✅"
8+
: "❌",
9+
},
10+
};
11+
}
12+
13+
export default function Page({ isRewritten }) {
14+
return (
15+
<Layout>
16+
<article>
17+
<h1>
18+
Middleware - rewrite
19+
</h1>
20+
<hr />
21+
<p>
22+
<b>Test 1:</b>URL is rewritten { isRewritten }
23+
</p>
24+
</article>
25+
</Layout>
26+
);
27+
}

0 commit comments

Comments
 (0)