การ 301 redirect ใน Angular คือการเปลี่ยนเส้นทางจาก URL เดิมไปยัง URL ใหม่อย่างถาวร โดยจะใช้ HTTP status code 301 เพื่อแจ้งให้เบราว์เซอร์และเครื่องมือค้นหาทราบถึงการเปลี่ยนแปลงนี้
การ 301 redirect ใน Angular สามารถทำได้โดยใช้คำสั่ง redirectTo()
ในคอมโพเนนต์ Router
ตัวอย่างเช่น
1 | import { Component, OnInit } from '@angular/core'; |
ในตัวอย่างนี้ เมื่อผู้ใช้เรียกใช้คอมโพเนนต์ ExampleComponent
เบราว์เซอร์จะถูกเปลี่ยนเส้นทางไปยัง URL /new-url
โดยใช้ HTTP status code 301
นอกจากนี้ ยังสามารถกำหนดค่าเพิ่มเติมให้กับคำสั่ง redirectTo()
ได้ เช่น การกำหนดค่าระยะเวลาการแคช ตัวอย่างเช่น
1 | import { Component, OnInit } from '@angular/core'; |
ในตัวอย่างนี้ การ redirect จะใช้ HTTP status code 301 และเบราว์เซอร์จะแคช URL ใหม่เป็นเวลา 3 วินาที
การ 301 redirect มีประโยชน์ในหลายกรณี เช่น การเปลี่ยนชื่อหน้าเว็บ การย้ายหน้าเว็บไปยังตำแหน่งใหม่ เป็นต้น
ตัวอย่างการทดสอบการ 301 redirect ใน Angular มีดังนี้
1 | $ ng serve |
เปิดเบราว์เซอร์ไปที่ http://localhost:4200/example
เบราว์เซอร์จะถูกเปลี่ยนเส้นทางไปยัง URL http://localhost:4200/new-url โดยใช้ HTTP status code 301
ตรวจสอบว่าเบราว์เซอร์แคช URL ใหม่เป็นเวลา 3 วินาที โดยเปิดเบราว์เซอร์ใหม่และไปที่ URL http://localhost:4200/example เบราว์เซอร์จะไม่ถูกเปลี่ยนเส้นทางไปยัง URL http://localhost:4200/new-url ทันที แต่จะถูกเปลี่ยนเส้นทางหลังจาก 3 วินาที