Skip to content

Commit 529d0b3

Browse files
committed
feat: 미들웨어에서 메타 태그의 썸네일 이미지 경로 동적 수정 및 퀴즈 경로 제거
- '/meme/quiz' 경로를 matcher에서 제거하여 처리 간소화 - Open Graph 및 Twitter 메타 태그의 썸네일 이미지 경로를 동적으로 수정하여 일관성 유지
1 parent ab6ef17 commit 529d0b3

File tree

1 file changed

+3
-46
lines changed

1 file changed

+3
-46
lines changed

apps/web/middleware.ts

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export const config = {
2-
matcher: ['/meme/:path*', '/meme/quiz'],
2+
matcher: ['/meme/:path*'],
33
};
44

55
export default async function middleware(request: Request) {
@@ -24,7 +24,7 @@ export default async function middleware(request: Request) {
2424
)
2525
.replace(
2626
/<meta\s+property="og:image"\s+content="[^"]*"[^>]*>/,
27-
`<meta property="og:image" content="https://meme-wiki.net/thumbnail.png" />`,
27+
`<meta property="og:image" content="${url.origin}/thumbnail.png" />`,
2828
)
2929
.replace(
3030
/<meta\s+property="og:url"\s+content="[^"]*"[^>]*>/,
@@ -40,50 +40,7 @@ export default async function middleware(request: Request) {
4040
)
4141
.replace(
4242
/<meta\s+property="twitter:image"\s+content="[^"]*"[^>]*>/,
43-
`<meta property="twitter:image" content="https://meme-wiki.net/thumbnail.png" />`,
44-
);
45-
46-
return new Response(modifiedHtml, {
47-
status: 200,
48-
headers: {
49-
'content-type': 'text/html;charset=UTF-8',
50-
'cache-control': 'no-cache, no-store, must-revalidate',
51-
pragma: 'no-cache',
52-
expires: '0',
53-
},
54-
});
55-
}
56-
57-
// /meme/{id} 경로인 경우 API 호출하여 OG 태그 설정
58-
if (path && path !== 'quiz') {
59-
const modifiedHtml = html
60-
.replace(
61-
/<meta\s+property="og:title"\s+content="[^"]*"[^>]*>/,
62-
`<meta property="og:title" content="Meme Wiki - 밈 문화의 모든 것" />`,
63-
)
64-
.replace(
65-
/<meta\s+property="og:description"\s+content="[^"]*"[^>]*>/,
66-
`<meta property="og:description" content="나만의 밈을 만들고 공유하세요." />`,
67-
)
68-
.replace(
69-
/<meta\s+property="og:image"\s+content="[^"]*"[^>]*>/,
70-
`<meta property="og:image" content="https://meme-wiki.net/thumbnail.png" />`,
71-
)
72-
.replace(
73-
/<meta\s+property="og:url"\s+content="[^"]*"[^>]*>/,
74-
`<meta property="og:url" content="${url.href}" />`,
75-
)
76-
.replace(
77-
/<meta\s+property="twitter:title"\s+content="[^"]*"[^>]*>/,
78-
`<meta property="twitter:title" content="Meme Wiki - 밈 문화의 모든 것" />`,
79-
)
80-
.replace(
81-
/<meta\s+property="twitter:description"\s+content="[^"]*"[^>]*>/,
82-
`<meta property="twitter:description" content="나만의 밈을 만들고 공유하세요." />`,
83-
)
84-
.replace(
85-
/<meta\s+property="twitter:image"\s+content="[^"]*"[^>]*>/,
86-
`<meta property="twitter:image" content="https://meme-wiki.net/thumbnail.png" />`,
43+
`<meta property="twitter:image" content="${url.origin}/thumbnail.png" />`,
8744
);
8845

8946
return new Response(modifiedHtml, {

0 commit comments

Comments
 (0)