feat: redirect legacy domain to adseeq.com

This commit is contained in:
2026-08-10 16:48:25 +03:00
parent 0db82654ba
commit 575b8f80ca
2 changed files with 42 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
const LEGACY_HOSTS = new Set(["kazananavci.seymata.com", "www.kazananavci.seymata.com"]);
export function proxy(request: NextRequest) {
const forwardedHost = request.headers.get("x-forwarded-host")?.split(",")[0]?.trim();
const host = (forwardedHost || request.headers.get("host") || "").split(":")[0].toLowerCase();
if (!LEGACY_HOSTS.has(host) && host !== "www.adseeq.com") {
return NextResponse.next();
}
const destination = new URL("https://adseeq.com");
destination.pathname = request.nextUrl.pathname;
destination.search = request.nextUrl.search;
return NextResponse.redirect(destination, 301);
}
export const config = {
matcher: ["/((?!_next/static|_next/image).*)"]
};
+20
View File
@@ -6,6 +6,8 @@ import { getFeatureLimit } from "../src/lib/plans";
import { istemciIp, hizSiniriAsimi } from "../src/lib/rate-limit"; import { istemciIp, hizSiniriAsimi } from "../src/lib/rate-limit";
import { stripePriceFor } from "../src/lib/stripe"; import { stripePriceFor } from "../src/lib/stripe";
import { tikTokActorInput } from "../src/lib/apify-tiktok"; import { tikTokActorInput } from "../src/lib/apify-tiktok";
import { NextRequest } from "next/server";
import { proxy } from "../src/proxy";
test("Apify reklamı metin, medya ve ülke alanlarıyla normalize edilir", () => { test("Apify reklamı metin, medya ve ülke alanlarıyla normalize edilir", () => {
const ad = normalizeApifyAd({ const ad = normalizeApifyAd({
@@ -56,3 +58,21 @@ test("TikTok aktör girdisi resmi şemadaki alanları kullanır", () => {
keyword: "phone case", region: "US", maxItems: 10, addonProductDetails: false keyword: "phone case", region: "US", maxItems: 10, addonProductDetails: false
}); });
}); });
test("eski alan adı yol ve sorguyu koruyarak AdSeeQ'a yönlenir", () => {
const request = new NextRequest("http://localhost/dashboard/ads?q=berber", {
headers: { "x-forwarded-host": "kazananavci.seymata.com" }
});
const response = proxy(request);
assert.equal(response.status, 301);
assert.equal(response.headers.get("location"), "https://adseeq.com/dashboard/ads?q=berber");
});
test("AdSeeQ ana alan adı yönlendirilmez", () => {
const request = new NextRequest("https://adseeq.com/dashboard/ads", {
headers: { host: "adseeq.com" }
});
const response = proxy(request);
assert.equal(response.status, 200);
assert.equal(response.headers.get("location"), null);
});