Add year filter redirects
This commit is contained in:
parent
6e7eb9ce52
commit
7cb63470cd
3 changed files with 52 additions and 0 deletions
|
|
@ -10,6 +10,7 @@ RUN npm run build
|
||||||
|
|
||||||
FROM nginx:1.29-alpine
|
FROM nginx:1.29-alpine
|
||||||
|
|
||||||
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
COPY --from=build /app/dist /usr/share/nginx/html
|
COPY --from=build /app/dist /usr/share/nginx/html
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
|
||||||
15
nginx.conf
Normal file
15
nginx.conf
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
location ~ "^/([0-9]{4})/?$" {
|
||||||
|
return 302 "/?year=$1#events";
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
}
|
||||||
36
src/pages/[year]/index.astro
Normal file
36
src/pages/[year]/index.astro
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
import { organizedEvents } from "../../data/events";
|
||||||
|
|
||||||
|
export function getStaticPaths() {
|
||||||
|
const years = Array.from(new Set(organizedEvents.map((event) => event.year)));
|
||||||
|
|
||||||
|
return years.map((year) => ({
|
||||||
|
params: { year },
|
||||||
|
props: { year },
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
year: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
const { year } = Astro.props;
|
||||||
|
const target = `/?year=${encodeURIComponent(year)}#events`;
|
||||||
|
---
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<meta http-equiv="refresh" content={`0; url=${target}`} />
|
||||||
|
<link rel="canonical" href={target} />
|
||||||
|
<title>Redirecting to {year} events</title>
|
||||||
|
<script is:inline define:vars={{ target }}>
|
||||||
|
window.location.replace(target);
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Redirecting to <a href={target}>{year} events</a>.</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue