refactor(配置): 将重定向规则从vercel和edgeone迁移至astro配置

将原本分散在vercel.json和edgeone.json中的重定向规则统一迁移到astro.config.mjs中,简化配置管理
This commit is contained in:
二叉树树
2025-11-29 07:40:07 +08:00
parent ab7e7f8d6a
commit dd6a84f2c2
4 changed files with 49 additions and 154 deletions

View File

@@ -39,7 +39,16 @@ export default defineConfig({
output: "static",
redirects: {
"/donate": "/sponsors",
"/donate/": "/sponsors/"
"/ak": "https://akile.io/register?aff_code=503fe5ea-e7c5-4d68-ae05-6de99513680e",
"/kook": "https://kook.vip/K29zpT",
"/long": "https://iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.in/",
"/mly": "https://muleyun.com/aff/GOTRJLPN",
"/tg": "https://t.me/+_07DERp7k1ljYTc1",
"/tit": "/posts/pin/",
"/tly": "https://tianlicloud.cn/aff/HNNCFKGP",
"/wly": "https://wl.awcmam.com/#/register?code=FNQwOQBM",
"/yyb": "https://www.rainyun.com/acofork_?s=bilibili",
"/iku": "https://ikuuu.de/auth/register?code=Bjou"
},
integrations: [tailwind({
nesting: true,
@@ -184,4 +193,4 @@ export default defineConfig({
},
},
},
});
});

View File

@@ -1,59 +1,2 @@
{
"redirects": [
{
"source": "/ak",
"destination": "https://akile.io/register?aff_code=503fe5ea-e7c5-4d68-ae05-6de99513680e",
"statusCode": 302
},
{
"source": "/kook",
"destination": "https://kook.vip/K29zpT",
"statusCode": 302
},
{
"source": "/long",
"destination": "https://iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.in/",
"statusCode": 302
},
{
"source": "/mly",
"destination": "https://muleyun.com/aff/GOTRJLPN",
"statusCode": 302
},
{
"source": "/tg",
"destination": "https://t.me/+_07DERp7k1ljYTc1",
"statusCode": 302
},
{
"source": "/tit",
"destination": "/posts/pin/",
"statusCode": 302
},
{
"source": "/tly",
"destination": "https://tianlicloud.cn/aff/HNNCFKGP",
"statusCode": 302
},
{
"source": "/wly",
"destination": "https://wl.awcmam.com/#/register?code=FNQwOQBM",
"statusCode": 302
},
{
"source": "/yyb",
"destination": "https://www.rainyun.com/acofork_?s=bilibili",
"statusCode": 302
},
{
"source": "/iku",
"destination": "https://ikuuu.de/auth/register?code=Bjou",
"statusCode": 302
},
{
"source": "/donate",
"destination": "/sponsors",
"statusCode": 302
}
]
}
}

View File

@@ -1,37 +1,37 @@
---
import type { MarkdownHeading } from "astro";
import Profile from "./Profile.astro";
import Tag from "./Tags.astro";
import DomainSwitcher from "./DomainSwitcher.astro";
interface Props {
class?: string;
headings?: MarkdownHeading[];
}
const className = Astro.props.class;
---
<div id="sidebar" class:list={[className, "w-full"]}>
<div class="flex flex-col w-full gap-4 mb-4">
<Profile></Profile>
</div>
<div id="sidebar-sticky" class="transition-all duration-700 flex flex-col w-full gap-4 top-4 sticky top-4">
<DomainSwitcher class="onload-animation" style="animation-delay: 150ms"></DomainSwitcher>
<Tag class="onload-animation" style="animation-delay: 200ms"></Tag>
<!-- 赞助标 -->
<div class="overflow-hidden flex justify-center">
<a href="https://secbit.ai/" target="_blank" rel="noopener noreferrer">
<img src="/aff/secbit-banner-1.gif" alt="Secbit" class="w-full max-w-[280px] rounded-lg hover:opacity-90 transition-opacity" />
</a>
</div>
<div class="overflow-hidden flex justify-center">
<iframe
src="https://support.nodeget.com/page/promotion?id=316"
style="border:none; border-radius:8px; height:270px; width:100%; max-width:280px;
transform: scale(1.0); transform-origin: center top;"
></iframe>
</div>
</div>
</div>
---
import type { MarkdownHeading } from "astro";
import Profile from "./Profile.astro";
import Tag from "./Tags.astro";
import DomainSwitcher from "./DomainSwitcher.astro";
interface Props {
class?: string;
headings?: MarkdownHeading[];
}
const className = Astro.props.class;
---
<div id="sidebar" class:list={[className, "w-full"]}>
<div class="flex flex-col w-full gap-4 mb-4">
<Profile></Profile>
</div>
<div id="sidebar-sticky" class="transition-all duration-700 flex flex-col w-full gap-4 top-4 sticky top-4">
<DomainSwitcher class="onload-animation" style="animation-delay: 150ms"></DomainSwitcher>
<Tag class="onload-animation" style="animation-delay: 200ms"></Tag>
<!-- 赞助标 -->
<div class="overflow-hidden flex justify-center">
<a href="https://secbit.ai/" target="_blank" rel="noopener noreferrer">
<img src="/aff/secbit-banner-1.gif" alt="Secbit" class="w-full max-w-[280px] rounded-lg hover:opacity-90 transition-opacity" />
</a>
</div>
<div class="overflow-hidden flex justify-center">
<iframe
src="https://support.nodeget.com/page/promotion?id=316"
style="border:none; border-radius:8px; height:270px; width:100%; max-width:280px;
transform: scale(1.0); transform-origin: center top;"
></iframe>
</div>
</div>
</div>

View File

@@ -1,59 +1,2 @@
{
"redirects": [
{
"source": "/ak",
"destination": "https://akile.io/register?aff_code=503fe5ea-e7c5-4d68-ae05-6de99513680e",
"permanent": false
},
{
"source": "/kook",
"destination": "https://kook.vip/K29zpT",
"permanent": false
},
{
"source": "/long",
"destination": "https://iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.in/",
"permanent": false
},
{
"source": "/mly",
"destination": "https://muleyun.com/aff/GOTRJLPN",
"permanent": false
},
{
"source": "/tg",
"destination": "https://t.me/+_07DERp7k1ljYTc1",
"permanent": false
},
{
"source": "/tit",
"destination": "/posts/pin/",
"permanent": false
},
{
"source": "/tly",
"destination": "https://tianlicloud.cn/aff/HNNCFKGP",
"permanent": false
},
{
"source": "/wly",
"destination": "https://wl.awcmam.com/#/register?code=FNQwOQBM",
"permanent": false
},
{
"source": "/yyb",
"destination": "https://www.rainyun.com/acofork_?s=bilibili",
"permanent": false
},
{
"source": "/iku",
"destination": "https://ikuuu.de/auth/register?code=Bjou",
"permanent": false
},
{
"source": "/donate",
"destination": "/sponsors",
"permanent": false
}
]
}