Aktuelles preseljen na news.folx.tv: 301 s /article/<slug>, /category/<rubrika> in /aktuelles

This commit is contained in:
FOLX Claude
2026-08-29 16:19:02 +02:00
parent a39322b729
commit 98b57fb6c8
+33
View File
@@ -382,11 +382,44 @@ export function serveStatic(app: Express) {
} }
} }
// 29. 8. 2026: rubrike Aktuelles so preseljene na loceno stran news.folx.tv.
// Clanki ostanejo v bazi in v /api/articles (bere jih news.folx.tv in TV sidebar),
// na folx.tv pa se naslovi trajno preusmerijo.
const NEWS_HOST = "https://news.folx.tv";
const NEWS_RUBRIK_SLUG: Record<string, string | undefined> = {
"Politik": "politik",
"Promis": "promis",
"Sport": "sport",
"Musik & Film": "musik-film",
"Wetter": "wetter",
"Finanzen": "finanzen",
"Aktuelles": "",
};
const pathOnly = url.split("?")[0].split("#")[0];
if (/^\/aktuelles\/?$/.test(pathOnly)) {
res.redirect(301, `${NEWS_HOST}/`);
return;
}
const catRedirect = pathOnly.match(/^\/category\/([^/]+)\/?$/);
if (catRedirect) {
const catName = decodeURIComponent(catRedirect[1]);
const key = Array.from(ONE_RUBRIKEN).find((r) => r.toLowerCase() === catName.toLowerCase());
if (key) {
const rs = NEWS_RUBRIK_SLUG[key];
res.redirect(301, rs ? `${NEWS_HOST}/rubrik/${rs}` : `${NEWS_HOST}/`);
return;
}
}
const articleMatch = url.match(/^\/article\/([^?#]+)/); const articleMatch = url.match(/^\/article\/([^?#]+)/);
if (articleMatch) { if (articleMatch) {
try { try {
const slug = decodeURIComponent(articleMatch[1]); const slug = decodeURIComponent(articleMatch[1]);
const article = await storage.getArticleBySlug(slug); const article = await storage.getArticleBySlug(slug);
if (article && ONE_RUBRIKEN.has((article as any).category || "")) {
res.redirect(301, `${NEWS_HOST}/${article.slug}`);
return;
}
if (article && (article as any).targetUrl) { if (article && (article as any).targetUrl) {
res.redirect(302, (article as any).targetUrl); res.redirect(302, (article as any).targetUrl);
return; return;