diff --git a/index.html b/index.html index becae66..546d49a 100755 --- a/index.html +++ b/index.html @@ -1,10 +1,35 @@ - + - YouthPick + YouthPick | 나에게 맞는 청년정책 추천 + + + + + + + + + + + + + + + +
diff --git a/nginx.conf b/nginx.conf index 3b8ef23..2a5ad58 100644 --- a/nginx.conf +++ b/nginx.conf @@ -45,6 +45,16 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } + # sitemap.xml은 게시글처럼 동적인 URL을 담아야 해서 정적 파일이 아니라 backend가 매 요청 생성한다. + # sitemap 프로토콜상 사이트 루트에서 서빙해야 하므로 /api 프리픽스 없이 그대로 넘긴다. + location = /sitemap.xml { + proxy_pass http://backend:8080/sitemap.xml; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + # 정확히 일치(=)로 매칭하면 swagger-ui가 실제 스펙 위치를 알아내려고 추가로 요청하는 # /v3/api-docs/swagger-config 가 이 location을 안 타고 SPA fallback으로 떨어져 # swagger-ui가 기본 데모 스펙(petstore)으로 폴백된다. prefix로 하위 경로까지 잡는다. diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..733fdaa --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,13 @@ +User-agent: * +Allow: / +Disallow: /admin +Disallow: /my +Disallow: /tracker +Disallow: /recommend +Disallow: /login +Disallow: /oauth +Disallow: /profile/setup +Disallow: /community/write +Disallow: /community/*/edit + +Sitemap: https://youthpick.samchon.cloud/sitemap.xml diff --git a/src/app/layouts/RootLayout.tsx b/src/app/layouts/RootLayout.tsx index 488c419..9c63d56 100644 --- a/src/app/layouts/RootLayout.tsx +++ b/src/app/layouts/RootLayout.tsx @@ -3,7 +3,7 @@ import { Outlet, ScrollRestoration } from 'react-router'; import { CompareDockContainer } from '@/features/policy-compare'; import { Skeleton, ToastContainer } from '@/shared/ui'; -import { NoticeBanner } from '@/widgets/footer'; +import { Footer, NoticeBanner } from '@/widgets/footer'; import { Header } from '@/widgets/header'; import { MobileNav } from '@/widgets/mobile-nav'; import { PolicyDetailModalContainer } from '@/widgets/policy-detail-modal'; @@ -30,6 +30,8 @@ export function RootLayout() { +