Redirects ใน Koa.js

การทำรายการ Redirects ใน Koa.js นั้นสามารถทำได้โดยใช้ middleware หรือการกำหนดการตอบสนอง (response) ในลักษณะการเปลี่ยนเส้นทาง URL ด้วยค่าสถานะ HTTP ที่เหมาะสม (เช่น 301 Redirect หรือ 302 Found) ดังนี้:

  1. ใช้ Middleware สำหรับการ Redirect:

    คุณสามารถใช้ middleware เพื่อทำการ Redirect โดยใช้ ctx.redirect() เช่น:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    const 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.

  2. การกำหนดการตอบสนองแบบตรงๆ:

    คุณสามารถกำหนดการตอบสนองโดยตรงเพื่อทำการ Redirect โดยระบุสถานะ HTTP ที่เหมาะสม (เช่น 301 หรือ 302) ดังนี้:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    const 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 อื่น ๆ ได้อย่างง่ายและสะดวกตามความต้องการของแอปพลิเคชันของคุณ.