การเปลี่ยนเส้นทางจากหน้าหนึ่งไปยังอีกหน้าหนึ่ง js การเปลี่ยนเส้นทางไปยังหน้าอื่นโดยใช้ JavaScript

สี่ตัวเลือกสำหรับการเปลี่ยนเส้นทางผู้ใช้อย่างชัดเจนและมีตัวอย่าง

1. เปลี่ยนเส้นทางผ่าน Java Script - จะทำงานเฉพาะเมื่อผู้ใช้เปิดใช้งานการสนับสนุน JS บนอุปกรณ์ ไม่ต้องกังวล เปอร์เซ็นต์ของผู้ใช้ที่ไม่มี JS นั้นน้อยมาก หากคุณต้องการตรวจสอบว่าสิ่งนี้ไม่สะดวกเพียงใด เพียงปิดการใช้งาน JS ในเบราว์เซอร์ของคุณเป็นเวลาหนึ่งวัน

รหัสการเปลี่ยนเส้นทางการทำงาน:

2. การเปลี่ยนเส้นทาง Html

ตัวอย่างนี้เปลี่ยนเส้นทางผู้ใช้ไปยังที่อยู่ที่ต้องการด้วยความล่าช้า 1 วินาที

ฉันจำได้ว่ามันทำงานไม่ถูกต้องใน IE หรือไม่ทำงานเลย ถ้าใช้ก็ตรวจสอบเผื่อไว้ครับ

3. เปลี่ยนเส้นทางไปยัง php

เรียบง่ายและมีรสนิยม ไฟล์นามสกุล .php โดยมีเนื้อหาดังต่อไปนี้:

4. เปลี่ยนเส้นทางผ่าน .htaccess

เปลี่ยนเส้นทาง / http://url4trafic.ru

เมื่อเปลี่ยนเส้นทางการรับส่งข้อมูลจากเครือข่ายโซเชียล ในกรณีทั่วไป ตัวเลือกที่เกี่ยวข้องมากที่สุดคือจากตัวอย่างที่ 1 โดยมีส่วนเพิ่มเติมเล็กน้อย ได้แก่ การใช้มาร์กอัป ogp เพื่อให้ชัดเจนขึ้นเล็กน้อย มาร์กอัป Open Graph เป็นโปรโตคอลสำหรับมาร์กอัปเนื้อหาของหน้าเพื่อส่งเนื้อหาไปยังโซเชียลเน็ตเวิร์ก เมื่อโพสต์ลิงค์ไปที่ เครือข่ายสังคมคุณสามารถ "ด้วยตนเอง" ระบุภาพขนาดย่อและคำอธิบายที่จะแสดงได้

ตัวอย่างการทำงาน (อาจมีความไม่ถูกต้องและข้อบกพร่อง แต่ก็ยังใช้ได้ :)

ชื่อหน้า

ดูเหมือนว่าเมื่อเผยแพร่บน Konakte:

สรุปประเด็นโดยย่อ:
- ระบุว่าจะใช้มาร์กอัป Open Graph
- - กรอกคำอธิบายที่น่าดึงดูด - ในตัวอย่างด้านบนคือ “John Cena ประกาศวันที่เขากลับมา”
- ชื่อหน้า - ชื่อที่น่าสนใจ - ในตัวอย่างด้านบนคือ "John Cena กลับมาแสดง - WWE Wrestling News"
- - นี่คือเส้นทางไปยังรูปภาพที่จะโหลด - ในตัวอย่างด้านบน นี่คือคนๆ เดียวกันในเสื้อยืดสีน้ำเงิน
เพื่อให้ลิงก์สวยงามและใหญ่ รูปภาพจะต้องมีขนาดเพียงพอตั้งแต่แรก ตัวอย่างเช่น สำหรับ VKontakte จะมีขนาดมากกว่า 537x240 พิกเซล ดีกว่า - มากขึ้น

Location="http://url4trafic.ru" - คุณเดาได้แล้วว่าเป็น URL ที่เราจะส่งผู้ใช้ไป

การเปลี่ยนเส้นทางคืออะไร ด้วยคำพูดง่ายๆ

การเปลี่ยนเส้นทางคือการเปลี่ยนเส้นทางอัตโนมัติของผู้ใช้จากหน้าหนึ่งของไซต์หนึ่งไปยังอีกหน้าหนึ่ง (ทั้งภายในไซต์หนึ่งและไปยังไซต์ภายนอก) สำหรับเครื่องมือค้นหา การเปลี่ยนเส้นทางจะใช้เพื่อรวมที่อยู่หน้า

การเปลี่ยนเส้นทางแต่ละครั้งจะมีหมายเลขของตัวเองซึ่งมีหน้าที่รับผิดชอบในการทำงาน มีการเปลี่ยนเส้นทางประเภทต่อไปนี้:

  • การเปลี่ยนเส้นทาง 300 - ปรนัย;
  • - ย้ายไปตลอดกาล;
  • การเปลี่ยนเส้นทาง 302 - พบเอกสาร
  • 303 เปลี่ยนเส้นทาง - ดูเพิ่มเติม;
  • การเปลี่ยนเส้นทาง 304 - เอกสารไม่มีการเปลี่ยนแปลง
  • การเปลี่ยนเส้นทาง 305 - ใช้พร็อกซี
  • การเปลี่ยนเส้นทาง 306 - ไม่ได้ใช้
  • การเปลี่ยนเส้นทาง 307 - การเปลี่ยนเส้นทางชั่วคราว

ผู้นำในการใช้งานระหว่างการเปลี่ยนเส้นทางเหล่านี้คือ ใช้เมื่อที่อยู่หน้าเว็บไซต์มีการเปลี่ยนแปลงอย่างถาวร ตามที่แสดงให้เห็นในทางปฏิบัติ นี่เป็นสถานการณ์ที่พบบ่อยที่สุด ในตัวอย่างทั้งหมดด้านล่างนี้ มันจะเป็นเช่นนี้ทุกประการ

มีหลายวิธีในการเปลี่ยนเส้นทาง แต่ละคนมีข้อดีและข้อเสียของตัวเอง ด้านล่างนี้เราจะดูแต่ละรายการแยกกันพร้อมตัวอย่าง

1. เปลี่ยนเส้นทางผ่าน JavaScript

JavaScript มีฟังก์ชันมากมายสำหรับการเปลี่ยนเส้นทาง ตัวอย่างด้านล่างแสดงการเปลี่ยนเส้นทางต่างๆ ที่ดำเนินการโดยใช้ฟังก์ชัน JavaScript ต่างๆ

document.location ="http://ya.ru/ "; //ตัวเลือกแรก window.location.replace ("http://ya.ru/ "); //ตัวเลือกที่สอง window.location.reload ("http://ya.ru/ "); //ตัวเลือกที่สาม document.location.replace ("http://ya.ru/ ");//ตัวเลือกที่สี่ ตำแหน่ง ="http://ya.ru/ ";//ตัวเลือกที่ห้า setTimeout ("location ="http ://ya.ru/ ";", 10,000 );//ตัวเลือกที่หก // พร้อมตั้งค่าช่วงเวลา (1=1ms)

ในตัวเลือกใด ๆ ข้างต้นจะมีการเปลี่ยนแปลงไปยังไซต์ http://ya.ru/ โดยอัตโนมัติ

ข้อเสียของ JavaScript คือต้องมีหน้าของไซต์ที่ทำการเปลี่ยนเส้นทางอยู่ และประการที่สอง การออกแบบนี้ไม่เร็วมาก เนื่องจากหน้าแรกที่จะโหลดการเปลี่ยนเส้นทางจะถูกโหลด - และนี่คือการสูญเสียเวลาอันมีค่าโดยไม่จำเป็น

2. เปลี่ยนเส้นทางผ่าน .htaccess

ฉันขอเตือนคุณว่า .htaccess เป็นไฟล์พิเศษที่อยู่ในโฟลเดอร์รูทของไซต์ของคุณ มันมีการเปลี่ยนเส้นทางที่จำเป็นทั้งหมด ดังนั้นในระดับเว็บเซิร์ฟเวอร์แล้ว การเปลี่ยนไปยังหน้าที่ต้องการจะเกิดขึ้นโดยไม่ต้องโหลดหน้ากลาง

ใน ปริทัศน์การเปลี่ยนเส้นทางผ่านไฟล์ .htaccess มีลักษณะดังนี้:

เปลี่ยนเส้นทาง [REDIRECT_CODE] /ADDRESS_FROM ADDRESS_WHERE
  • REDIRECT_CODE - หมายเลขการเปลี่ยนเส้นทางระบุไว้ที่นี่ (คุณไม่จำเป็นต้องระบุ ค่าเริ่มต้นคือ 301)
  • /ADDRESS_FROM - หน้าที่จะทำการเปลี่ยนแปลง ต้องขึ้นต้นด้วยเครื่องหมายทับ "/";
  • ADDRESS_WHERE - ระบุที่อยู่แบบเต็ม (URL) ที่จะทำการเปลี่ยนเส้นทาง
ตัวอย่างการเปลี่ยนเส้นทางผ่าน .htaccess 1) เปลี่ยนเส้นทางด้วย www และไม่มี www

301 เปลี่ยนเส้นทางจากไซต์ที่ไม่มี www ไปยังหน้าไซต์ที่มี www

RewriteEngine บน RewriteCond %(HTTP_HOST) ^site.ru RewriteRule (.*) http://www.site.ru/$1

ในกรณีนี้ จะมีการเปลี่ยนแปลงโดยอัตโนมัติจากหน้า site.ru เป็น www.site.ru ตามลำดับ ตัวอย่างเช่น

site.ru/razdel/123.html -> www.site.ru/razdel/123.html site.ru/razdel -> www.site.ru/razdel

หากต้องการเปลี่ยนเส้นทางแบบย้อนกลับจาก www ไปเป็นไม่มี www (www.site.ru -> site.ru) คุณต้องป้อนรหัสต่อไปนี้:

RewriteEngine บน RewriteCond %(HTTP_HOST) ^www.site.ru RewriteRule (.*) http://site.ru/$1 2) การเปลี่ยนเส้นทางผู้ใช้ไปยังโดเมนอื่น เปลี่ยนเส้นทางถาวร / http://site.ru

ผู้ใช้ทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังโดเมน http://site.ru/ โดยอัตโนมัติ

3) การเปลี่ยนเส้นทางผู้ใช้จากเพจไปยังที่อยู่อื่น เปลี่ยนเส้นทาง 301 /start.html http://site.ru/hi.html

จากหน้า /start.html จะมีการเปลี่ยนแปลงอัตโนมัติเป็น http://site.ru/hi.html

4) เปลี่ยนเส้นทางเมื่อเปลี่ยนโดเมนไซต์ (URL)

บางครั้งคุณจำเป็นต้องเปลี่ยนเส้นทางจากไซต์หนึ่งไปยังอีกไซต์หนึ่งโดยสมบูรณ์ (เช่น โดเมนของไซต์มีการเปลี่ยนแปลง) ในกรณีนี้ คุณต้องเขียนสี่บรรทัดต่อไปนี้:

เขียนใหม่ %(HTTP_HOST) ^olddomen\.ru เขียนใหม่ ^(.*)$ http://newdomen.ru/$1 เขียนใหม่ %(HTTP_HOST) ^www\.olddomen\.ru เขียนใหม่ ^(.*)$ http:// newdomen.ru/$1 5) เปลี่ยนเส้นทางจาก http://site/yyyy/mm/dd/post/ ไปยัง http://site/post/

การเปลี่ยนเส้นทางนี้จะเป็นประโยชน์สำหรับเจ้าของบล็อก WordPress การระบุปี เดือน และวันที่เผยแพร่ข่าวนั้นไม่จำเป็นเลย และสร้างลำดับชั้นที่ไม่จำเป็นซึ่งขัดขวางการโปรโมตบล็อก ดังนั้นคุณต้องใช้รหัสต่อไปนี้:

RewriteEngine บน RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RedirectMatch 301 /(4)/(2)/(2)/(.+)/$ /$1/

ตัวอย่างเช่น จากที่อยู่ http://site/2014/11/24/primerposta/ จะมีการเปลี่ยนเส้นทาง 301 ไปยัง http://site/primerposta/

3. เปลี่ยนเส้นทาง html ผ่านเมตาแท็ก

การเปลี่ยนเส้นทาง html ทำได้ผ่านเมตาแท็กโดยใช้แอตทริบิวต์รีเฟรช:

...

ในกรณีนี้ การเปลี่ยนเส้นทาง (การเปลี่ยนอัตโนมัติ) ไปที่ http://site.ru/ จะดำเนินการใน 1 วินาที ในเนื้อหา พารามิเตอร์ตัวแรกคือวินาที และตัวที่สองคือ URL หากไม่ได้ระบุวินาที จะหมายถึง 0 (การเปลี่ยนแปลงทันที)

4. การเปลี่ยนเส้นทาง PHP

PHP มีส่วนหัวของฟังก์ชันพิเศษที่รับผิดชอบ ตัวเลือกต่างๆเปลี่ยนเส้นทาง

ตัวอย่าง

header("Location: http://site.ru/", true, 301);// เปลี่ยนเส้นทาง // ใช้ 301 เปลี่ยนเส้นทางไปยัง site.ru; header("Location: http://site2.ru/");// เปลี่ยนเส้นทางโดยใช้ 301 // เปลี่ยนเส้นทางไปที่ site2.ru; ส่วนหัว ("รีเฟรช: 5; url=http://site.ru/");// เปลี่ยนเส้นทางด้วย // ความล่าช้า 5 วินาที

ฉันควรเลือกวิธีการเปลี่ยนเส้นทางแบบใด
ในความคิดของฉัน สิ่งที่ดีที่สุดคือเนื่องจากทุกอย่างอธิบายไว้ในไฟล์เดียวและไม่เกิดขึ้นที่ระดับการประมวลผลของเว็บเซิร์ฟเวอร์อีกต่อไป นั่นคือไม่จำเป็นต้องโหลดหน้า สิ่งนี้สามารถเร่งกระบวนการโหลดได้ค่อนข้างมาก ในกรณีอื่นๆ ทั้งหมด จะมีหน้าพิเศษและความล่าช้าเล็กน้อยเนื่องจากหน้านั้นต้องโหลดอย่างน้อยบางส่วน

คุณสามารถตรวจสอบว่ามีการกำหนดค่าการเปลี่ยนเส้นทางอย่างถูกต้องผ่านบริการหรือไม่

ต้องการเปลี่ยนเส้นทาง URL จากที่หนึ่งไปยังอีกที่หนึ่งหรือไม่? ในบทช่วยสอนง่ายๆ นี้ เราจะแสดงให้คุณเห็นว่าคุณสามารถทำได้โดยใช้ Apache/.htaccess, PHP, JavaScript, HTML และอื่นๆ เราจะอธิบายวิธีการเปลี่ยนเส้นทาง HTML แต่ละวิธีโดยย่อ และสาธิตตัวอย่างที่พร้อมใช้งาน

การเปลี่ยนเส้นทาง URL ด้วย PHP

การเปลี่ยนเส้นทางด้วย PHP ทำได้โดยใช้ฟังก์ชัน header() ตัวอย่างเช่น:

ต้องเรียกใช้ฟังก์ชันนี้ที่จุดเริ่มต้นของหน้าเว็บก่อนที่จะส่งออกโค้ด HTML หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่าวิธีนี้ โปรดดูเอกสารประกอบ PHP

หากต้องการดำเนินการเปลี่ยนเส้นทางโดยใช้ PHP หลังจากช่วงระยะเวลาหนึ่ง:

การเปลี่ยนเส้นทางไปยัง example.com เสร็จสิ้นภายใน 5 วินาที คุณสามารถเปลี่ยนค่านี้เป็นอะไรก็ได้ที่คุณต้องการ

การเปลี่ยนเส้นทาง URL ด้วย JavaScript

นี่เป็นวิธีที่ง่ายที่สุดในการเปลี่ยนเส้นทางดัชนี html โดยใช้ JavaScript:

document.location.href = "http://example.com/";

เปลี่ยนเส้นทาง URL โดยใช้ HTML

เป็นไปได้ที่จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ใหม่โดยใช้ HTML เก่าที่ดี นี่คือตัวอย่าง:

สิ่งนี้เรียกว่าการเปลี่ยนเส้นทางการรีเฟรชเมตา คุณสามารถตั้งเวลา (เป็นวินาที) ได้โดยเปลี่ยน 10 เป็นตัวเลขที่ต้องการ โปรดทราบว่าวิธีการเปลี่ยนเส้นทางนี้มักถูกใช้โดยผู้ส่งอีเมลขยะในทางที่ผิด ดังนั้นควรระวังหากคุณนำไปใช้บนเว็บไซต์สาธารณะ

การเปลี่ยนเส้นทาง URL ด้วย Perl

ต่อไปนี้เป็นสองวิธีในการเปลี่ยนเส้นทาง URL โดยใช้ Perl:

#!/usr/bin/perl พิมพ์ "ตำแหน่ง: http://example.comnn"; ออก;

การเปลี่ยนเส้นทาง URL โดยใช้ ASP (VB Script)

หากต้องการเปลี่ยนเส้นทาง URL โดยใช้ ASP ให้เพิ่มรหัสต่อไปนี้:

การเปลี่ยนเส้นทาง URL ด้วย mod_alias Apache

วิธีที่ง่ายที่สุดในการเปลี่ยนเส้นทางบนเซิร์ฟเวอร์ Apache คือ:

เปลี่ยนเส้นทาง 301 /old-location.html http://example.com/new-location/

ก่อนที่จะทำการเปลี่ยนเส้นทาง HTML ต้องเพิ่มโค้ดนี้ลงในไฟล์ .htaccess หรือไฟล์การกำหนดค่าเซิร์ฟเวอร์ Apache นี่คือไวยากรณ์ของวิธีนี้:

[คำสั่ง] [รหัสสถานะ] [URL เก่า] [URL ใหม่]

คุณสามารถเปลี่ยนการตั้งค่าเหล่านี้ได้หากจำเป็น ตัวอย่างเช่น หากคุณต้องการแทนที่ URL เก่าแบบไดนามิกเพื่อเปลี่ยนเส้นทาง URL ต่อไปนี้ทั้งหมด:

http://example.com/old-directory/file-01.html http://example.com/old-directory/file-02.html http://example.com/old-directory/file-03 html . .

คุณสามารถใช้ RedirectMatch แทน Redirect :

RedirectMatch 301 /old-directory/file-(.*).html http://example.com/new-directory/file-$1.html

คุณยังสามารถเปลี่ยนรหัสสถานะจาก 301 (การเปลี่ยนเส้นทางถาวร) เป็น 302 (การเปลี่ยนเส้นทางชั่วคราว) หรือรหัสสถานะที่ถูกต้องอื่น ๆ ด้านล่างนี้เป็นคำแนะนำเกี่ยวกับนิพจน์ทั่วไปที่ใช้ในเมธอด RedirectMatch:

  • หรือไม่มีสัญลักษณ์)
  • $1 - ส่งกลับรูปแบบที่ตรงกันก่อน (.*)
การเปลี่ยนเส้นทาง URL ด้วย mod_rewrite Apache

วิธีที่มีประสิทธิภาพมากขึ้นในการเปลี่ยนเส้นทางด้วย Apache คือการใช้โมดูลการเขียนซ้ำ mod_rewrite ต่อไปนี้คือตัวอย่างบางส่วนที่สามารถเพิ่มลงในไฟล์การกำหนดค่า .htaccess หรือ Apache

ตัวอย่างที่ 1: เปลี่ยนเส้นทางจาก www ไปเป็นไม่มี www

โค้ดการเปลี่ยนเส้นทาง HTML นี้จะเปลี่ยนเส้นทาง URL เวอร์ชัน www ทั้งหมดไปเป็นเวอร์ชันที่ไม่ใช่ www ที่เทียบเท่ากัน

RewriteCond %(HTTP_HOST) ^www.example.com$ RewriteRule (.*) http://example.com/$1

สิ่งนี้เรียกว่าการแต่งตั้งให้เป็นนักบุญ ต่อไปนี้เป็นหมายเหตุบางประการเกี่ยวกับนิพจน์ทั่วไปที่ใช้ในตัวอย่างนี้:

  • . - สอดคล้องกับจุดอย่างแท้จริง
  • $ - หมายถึงจุดสิ้นสุดของ URI ที่ร้องขอ;
  • (.*) - จับคู่อักขระใดๆ (หรือไม่มีอักขระใดๆ)
ตัวอย่างที่ 2: เปลี่ยนเส้นทางทั้งโดเมน

หากต้องการเปลี่ยนเส้นทาง HTML จากโดเมนปัจจุบันไปยังโดเมนใหม่:

กฎการเขียนใหม่ ^/(.*) https://new-domain.tld/$1

ในทำนองเดียวกัน คุณสามารถเปลี่ยนเส้นทางคำขอจากโดเมนย่อยของไซต์ปัจจุบันไปยังโดเมนย่อยบนไซต์ใหม่ได้:

RewriteCond %(HTTP_HOST) (.*).old-domain.tld RewriteRule ^/(.*) https://%1.new-domain.tld/$1

ต่อไปนี้เป็นหมายเหตุบางประการเกี่ยวกับนิพจน์ทั่วไปที่ใช้ในตัวอย่างนี้:

  • ^ - หมายถึงจุดเริ่มต้นของ URI ที่ร้องขอ
  • (.*) - จับคู่อักขระใดๆ (หรือไม่มีอักขระใดๆ)
  • $1 - จับคู่รูปแบบวงเล็บ (.*) ใน RewriteRule ;
  • %1 - จับคู่รูปแบบวงเล็บแรก (.*) ใน RewriteCond
  • - ส่งรหัสสถานะ 301 และสั่งให้ Apache หยุดการประมวลผลชุดกฎ

โปรดทราบ: เพื่อให้วิธีใดวิธีหนึ่งเหล่านี้ทำงานได้อย่างถูกต้อง ทั้งสองโดเมนจะต้องมีโครงสร้างไฟล์เหมือนกัน โฟลเดอร์และทรัพยากรบนโดเมนปัจจุบันต้องมีอยู่ในโดเมนใหม่ด้วย มิฉะนั้น คุณจะได้รับข้อผิดพลาด 404 จำนวนมากในโดเมนใหม่ของคุณ

ตัวอย่างที่ 3: การเปลี่ยนเส้นทางไฟล์ HTML และ PHP ทั้งหมด

นี่เป็นอีกตัวอย่างที่ซับซ้อนมากขึ้นของสคริปต์การเปลี่ยนเส้นทาง HTML mod_rewrite:

RewriteCond %(REQUEST_URI) ^/old-directory/(.*).(html|php)$ RewriteRule (.*) http://example.com/new-directory/%1.%2

เราเปลี่ยนเส้นทางคำขอทั้งหมดไปยังไฟล์ HTML หรือ PHP ที่อยู่ในโฟลเดอร์ /old-directory/ คำขอที่ตรงกันทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังไฟล์เดียวกัน ซึ่งอยู่ใน /new-directory/ ต่อไปนี้เป็นหมายเหตุบางประการเกี่ยวกับนิพจน์ทั่วไปที่ใช้ในตัวอย่างนี้:

  • ^ - หมายถึงจุดเริ่มต้นของ URI ที่ร้องขอ
  • (.*) - จับคู่อักขระใดๆ (หรือไม่มีอักขระใดๆ)
  • . - สอดคล้องกับจุดอย่างแท้จริง
  • (html php) - จับคู่ html หรือ php;
  • — ทำให้รูปแบบไม่คำนึงถึงขนาดตัวพิมพ์
  • %1 - จับคู่รูปแบบวงเล็บแรก (.*) ใน RewriteCond
  • %2 - จับคู่รูปแบบวงเล็บที่สอง (html|php ) ใน RewriteCond ;
  • - ส่งรหัสสถานะ 301 และสั่งให้ Apache หยุดการประมวลผลชุดกฎ
ข้อผิดพลาดในการเปลี่ยนเส้นทาง 404 โดยใช้ Apache

นี่คือโค้ด html ที่มีประโยชน์สำหรับเปลี่ยนเส้นทางข้อผิดพลาด "ไม่พบ" 404 ทั้งหมดไปยัง URL ที่ระบุ

ประเภทของการเปลี่ยนเส้นทาง

การเปลี่ยนเส้นทางมีหลายประเภท โปรดพิจารณาแต่ละประเภทโดยย่อเพื่อพิจารณาว่าประเภทใดที่เหมาะกับคุณที่สุด

การเปลี่ยนเส้นทางผ่าน htaccess เป็นวิธีที่ได้รับความนิยมและค่อนข้างง่ายที่สุด ในการดำเนินการนี้ คุณจะต้องสร้างไฟล์ชื่อ .htaccess ในโฟลเดอร์ไซต์ (โปรดทราบว่าชื่อไฟล์ขึ้นต้นด้วยจุด ซึ่งไม่ได้พิมพ์ผิด) หากคุณใช้ CMS WordPress หรือ Joomla เป็นไปได้มากว่าคุณมีไฟล์นี้อยู่แล้ว ซึ่งในกรณีนี้คุณเพียงแค่ต้องแก้ไขมัน
อ่านด้านล่างเพื่อดูว่าคุณต้องรวมคำแนะนำอะไรบ้างเพื่อสร้างการเปลี่ยนเส้นทาง

การเปลี่ยนเส้นทางโดยใช้ PHP นั้นเหมาะสมหากคุณเข้าใจ PHP และรู้โครงสร้างของเว็บไซต์ของคุณ ตัวเลือกนี้เหมาะสำหรับคุณหากเว็บไซต์ของคุณไม่ได้เขียนบน CMS มิฉะนั้น ควรใช้การเปลี่ยนเส้นทางผ่าน htaccess

การเปลี่ยนเส้นทาง HTML - หากคุณมีไซต์ HTML ธรรมดาและจำเป็นต้องเปลี่ยนเส้นทางสำหรับหนึ่งหน้า - นี่คือตัวเลือกที่ง่ายที่สุด การเปลี่ยนเส้นทางทั้งไซต์โดยใช้วิธีนี้จะต้องใช้แรงงานมาก โดยเฉพาะอย่างยิ่งหากคุณมีมากกว่า 10 หน้าในไซต์ของคุณ

เปลี่ยนเส้นทางโดยใช้ JavaScript - วิธีนี้ยังเหมาะถ้าคุณมีไซต์ธรรมดาหรือหากคุณต้องการเปลี่ยนเส้นทางสำหรับหนึ่งหรือสองหน้าหรือสำหรับทั้งไซต์โดยรวม

เปลี่ยนเส้นทางโดยใช้ไฟล์ .htaccess

คำแนะนำที่คุณจะเห็นด้านล่างนี้จะต้องเขียนลงในไฟล์ .htaccess ในตอนเริ่มต้น

  • เปลี่ยนเส้นทางทั้งไซต์ (ทุกหน้า) ไปยังไซต์อื่น

    เปลี่ยนเส้นทาง / http://new-site.ru/

    ในตัวอย่างนี้ การเปลี่ยนเส้นทางจะเกิดขึ้นกับไซต์ new-site.ru

  • การเปลี่ยนเส้นทางหน้าหนึ่งไปยังอีกหน้าหนึ่ง

    เปลี่ยนเส้นทาง /page-1.html /page-2.html

    ในตัวอย่างนี้ การเปลี่ยนเส้นทางจะเกิดขึ้นจาก page-1.html ไปยัง page-2.html ทั้งสองหน้าจะต้องอยู่ในโดเมนเดียวกัน
    ตัวเลือกนี้เหมาะสำหรับการแทนที่หน้าเว็บไซต์เก่าด้วยหน้าใหม่

  • 310 เปลี่ยนเส้นทางจาก www ไปไม่มี www

    เขียนใหม่เครื่องยนต์บน
    เขียนใหม่ %(HTTP_HOST) ^www.example\.ru
    เขียนกฎใหม่ ^(.*)$ http://example.ru/$1

    ในตัวอย่างนี้ ผู้เยี่ยมชมจะถูกเปลี่ยนเส้นทางจาก http://www.example.ru ไปยัง http://example.ru

  • 310 เปลี่ยนเส้นทางจากหน้าหนึ่งไปอีกหน้าหนึ่ง

    เปลี่ยนเส้นทาง 301 /blog/page-1.html http://example.com/page-2.htm

    ในตัวอย่างนี้ ผู้เยี่ยมชมจะถูกเปลี่ยนเส้นทางออกจากเพจ บล็อก/เพจ-1.htmlบน example.com/page-2.htm.

  • การเปลี่ยนเส้นทางข้อผิดพลาด 404

    ข้อผิดพลาดเอกสาร 404 /index.html

    เขียนบรรทัดนี้ในไฟล์ .htaccess จากนั้นผู้เยี่ยมชมทั้งหมดที่พบข้อผิดพลาด 404 จะถูกเปลี่ยนเส้นทางไปที่ ดัชนี.html.

  • เปลี่ยนเส้นทางจาก HTTP เป็น HTTPS

    เขียนโปรแกรมใหม่อีกครั้ง
    ปิด RewriteCond %(HTTPS)
    กฎการเขียนซ้ำ (.*) https://%(HTTP_HOST)%(REQUEST_URI)

    เขียนบรรทัดนี้ในไฟล์ .htaccess จากนั้นผู้เยี่ยมชมทั้งหมดที่เข้าสู่ไซต์ผ่าน HTTP จะถูกเปลี่ยนเส้นทางไปยังโปรโตคอล HTTPS ที่ปลอดภัย

    หากคุณกำลังลงทะเบียนการเปลี่ยนเส้นทางสำหรับ WordPress โปรดทราบว่าไฟล์นั้นมีบรรทัด RewriteEngine On อยู่แล้ว ดังนั้นคุณจะต้องเพิ่มบรรทัดต่อไปนี้ด้านล่างทันที

    เขียนใหม่ %(SERVER_PORT) 80
    กฎการเขียนใหม่ ^(.*)$ https://www.domain.com/$1

  • เปลี่ยนเส้นทาง PHP

    ใน PHP การเปลี่ยนเส้นทางทำได้ดังนี้: เซิร์ฟเวอร์ส่งส่วนหัวไปยังเบราว์เซอร์ของผู้เข้าชม และจะไปยังที่อยู่ที่ต้องการโดยอัตโนมัติ
    เป็นที่น่าสังเกตว่าประเด็นสำคัญ: สามารถส่งส่วนหัวได้ก่อนที่จะแสดงข้อมูลอื่นเท่านั้น นั่นคือจะต้องส่งก่อนที่ข้อมูลอื่นจะถูกส่งออกไป เสียงสะท้อนและก่อนที่จะส่งคุกกี้

  • เปลี่ยนเส้นทางไปยังไซต์อื่น

    ในตัวอย่างนี้ การเปลี่ยนเส้นทางจะเกิดขึ้นที่ไซต์ http://example.com

  • ที่นี่การเปลี่ยนเส้นทางจะเกิดขึ้นกับ http://example.com/page.html

  • เปลี่ยนเส้นทาง แน่ใจหน้าไปยังหน้าในเว็บไซต์อื่น

    ที่นี่ หากผู้เข้าชมเว็บไซต์ไปที่หน้า blog/post-1.html เขาจะถูกเปลี่ยนเส้นทางไปที่ http://example.com/page.html

  • การเปลี่ยนเส้นทาง HTML

    หากต้องการเปลี่ยนเส้นทางผ่าน HTML คุณต้องเพิ่มเมตาแท็กพิเศษลงในแต่ละหน้าที่วางแผนไว้ เมตาแท็กถูกเขียนอยู่ภายในแท็ก .
    บนไซต์ขนาดใหญ่ วิธีนี้ไม่สะดวก และขอแนะนำให้ใช้การเปลี่ยนเส้นทางผ่าน .

  • เปลี่ยนเส้นทางไปยังไซต์อื่น

    ในตัวอย่างนี้ การเปลี่ยนเส้นทางจะเกิดขึ้นกับไซต์ https://site โดยมีความล่าช้า 5 วินาที หากคุณตั้งค่าการหน่วงเวลาเป็น 0 แทนที่จะเป็น 5 ผู้เยี่ยมชมจะถูกเปลี่ยนเส้นทางไปยังไซต์อื่นทันที

  • เปลี่ยนเส้นทางไปยังหน้าบนเว็บไซต์อื่น
  • คุณอาจพบสถานการณ์ที่คุณคลิก URL เพื่อไปที่หน้า X แต่ภายในคุณถูกนำไปยังหน้าอื่น Y สิ่งนี้เกิดขึ้นเนื่องจากการเปลี่ยนเส้นทางหน้า แนวคิดนี้แตกต่างจากการอัพเดตเพจใน JavaScript

    เป็นไปได้ เหตุผลต่างๆเหตุใดคุณจึงต้องการเปลี่ยนเส้นทางผู้ใช้ออกจากหน้าเดิม เราแสดงรายการเหตุผลหลายประการด้านล่าง:

    • คุณไม่ชอบชื่อโดเมนของคุณและกำลังจะย้ายไปยังชื่อใหม่ ในกรณีนี้ คุณสามารถนำผู้เข้าชมทั้งหมดไปยังไซต์ใหม่ได้ ที่นี่ คุณสามารถเก็บโดเมนเก่าของคุณไว้ได้ แต่ใส่หน้าเดียวที่มีการเปลี่ยนเส้นทางหน้า เพื่อให้ผู้เยี่ยมชมโดเมนเก่าของคุณทั้งหมดสามารถไปที่โดเมนใหม่ได้
    • เพจของคุณถูกสร้างขึ้นแตกต่างกันไปตามเวอร์ชันของเบราว์เซอร์หรือชื่อเบราว์เซอร์ หรืออาจระบุสำหรับประเทศต่างๆ แทนที่จะใช้หน้าเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์ คุณสามารถใช้หน้าเปลี่ยนเส้นทางฝั่งไคลเอ็นต์เพื่อนำผู้ใช้ไปยังหน้าที่เหมาะสม
    • เครื่องมือค้นหาอาจจัดทำดัชนีหน้าเว็บแล้ว แต่เมื่อย้ายไปยังโดเมนอื่น คุณคงไม่อยากสูญเสียผู้เยี่ยมชมที่มาจากเครื่องมือค้นหา ดังนั้นคุณสามารถใช้หน้าเปลี่ยนเส้นทางฝั่งไคลเอ็นต์ได้ แต่โปรดจำไว้ว่าไม่ควรทำเช่นนี้เพื่อหลอกลวงเครื่องมือค้นหา เนื่องจากอาจส่งผลให้เว็บไซต์ของคุณถูกแบน
    การเปลี่ยนเส้นทางหน้าทำงานอย่างไร

    ตัวอย่างการใช้งานการเปลี่ยนเส้นทางหน้าเป็นดังนี้:

    ตัวอย่างที่ 1

    การเปลี่ยนเส้นทางเพจโดยใช้ JavaScript ฝั่งไคลเอ็นต์ทำได้ค่อนข้างง่าย หากต้องการเปลี่ยนเส้นทางผู้เยี่ยมชมเว็บไซต์ไปยังหน้าใหม่ คุณเพียงแค่ต้องเพิ่มบรรทัดในส่วนหัวเช่นนี้

    คลิกปุ่มต่อไปนี้ คุณจะถูกนำไปที่ หน้าแรก.

    ตัวอย่างที่ 2

    คุณสามารถแสดงข้อความที่เกี่ยวข้องแก่ผู้เยี่ยมชมเว็บไซต์ของคุณ จากนั้นเปลี่ยนเส้นทางพวกเขาไปยังหน้าใหม่ ซึ่งจะต้องมีการหน่วงเวลาในการโหลดหน้าใหม่ ตัวอย่างต่อไปนี้แสดงวิธีการใช้งานแบบเดียวกัน ในที่นี้ SetTimeout() เป็นฟังก์ชัน JavaScript ในตัวที่สามารถใช้เพื่อเรียกใช้ฟังก์ชันอื่นหลังจากพ้นช่วงเวลาที่กำหนดไปแล้ว

    บทสรุป คุณจะถูกนำไปยังหน้าหลักภายใน 10 วินาที! ตัวอย่างที่ 3

    ตัวอย่างต่อไปนี้แสดงวิธีเปลี่ยนเส้นทางผู้เยี่ยมชมเว็บไซต์ของคุณไปยังหน้าอื่นโดยขึ้นอยู่กับเบราว์เซอร์ของพวกเขา

    หากคุณพบข้อผิดพลาด โปรดเลือกส่วนของข้อความแล้วกด Ctrl+Enter