การทำรายการ Redirects ใน Koa.js นั้นสามารถทำได้โดยใช้ middleware หรือการกำหนดการตอบสนอง (response) ในลักษณะการเปลี่ยนเส้นทาง URL ด้วยค่าสถานะ HTTP ที่เหมาะสม (เช่น 301 Redirect หรือ 302 Found) ดังนี้:
ใช้ Middleware สำหรับการ Redirect:
คุณสามารถใช้ middleware เพื่อทำการ Redirect โดยใช้
ctx.redirect()
เช่น:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
if (ctx.url === '/old-url') {
ctx.redirect('/new-url'); // Redirect ไปยัง URL ใหม่
} else {
await next();
}
});
app.use(async (ctx) => {
ctx.body = 'หน้าหลัก';
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});เมื่อเข้าถึง URL http://localhost:3000/old-url, แอปพลิเคชัน Koa.js จะทำการ Redirect ไปยัง URL http://localhost:3000/new-url.
การกำหนดการตอบสนองแบบตรงๆ:
คุณสามารถกำหนดการตอบสนองโดยตรงเพื่อทำการ Redirect โดยระบุสถานะ HTTP ที่เหมาะสม (เช่น 301 หรือ 302) ดังนี้:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
if (ctx.url === '/old-url') {
ctx.status = 301; // หรือ 302 หรือสถานะ HTTP อื่น ๆ ตามที่ต้องการ
ctx.redirect('/new-url'); // Redirect ไปยัง URL ใหม่
} else {
await next();
}
});
app.use(async (ctx) => {
ctx.body = 'หน้าหลัก';
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});ในตัวอย่างนี้, เรากำหนด
ctx.status
เพื่อระบุสถานะ HTTP และใช้ctx.redirect()
เพื่อทำการ Redirect ไปยัง URL ใหม่.
การทำรายการ Redirects ใน Koa.js ช่วยให้คุณสามารถนำทางผู้ใช้ไปยัง URL อื่น ๆ ได้อย่างง่ายและสะดวกตามความต้องการของแอปพลิเคชันของคุณ.