การเปลี่ยนเส้นทาง URL HTTP

การเปลี่ยนเส้นทาง URL httpคือการดำเนินการเปลี่ยน URL อัตโนมัติจาก URL หนึ่งไปยังอีก URL หนึ่ง

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

การเปลี่ยนเส้นทางหน้า URL เป็นการดำเนินการเปลี่ยน URL โดยอัตโนมัติจาก URL หนึ่งไปยังอีก URL หนึ่ง

การเปลี่ยนเส้นทางนี้ทำได้ด้วยเหตุผลต่อไปนี้:

  1. เปลี่ยนเส้นทางจาก URL เก่าที่ล้าสมัยไปยัง URL ที่อัปเดตใหม่
  2. เปลี่ยนเส้นทางจากโดเมนเก่าที่ล้าสมัยไปยังโดเมนใหม่
  3. เปลี่ยนเส้นทางจากชื่อโดเมนที่ไม่ใช่ www ไปยังชื่อโดเมน www
  4. เปลี่ยนเส้นทางจากชื่อ URL แบบสั้นไปยังชื่อ URL แบบยาว - บริการย่อ URL
  5. บริการย่อ URL จะช่วยให้ผู้ใช้สามารถแทรก URL แบบสั้นและถูกเปลี่ยนเส้นทางไปยัง URL แบบยาวที่มีเนื้อหาของหน้าจริง

ผู้ใช้อาจเข้าถึง URL เก่าจากลิงก์ภายนอกเก่าหรือบุ๊กมาร์ก

โดยผู้ดูแลเว็บของไซต์ที่เพิ่มสคริปต์

การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์

การเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์ทำได้ในเซิร์ฟเวอร์โดยการกำหนดค่าซอฟต์แวร์เซิร์ฟเวอร์ Apache / IIS หรือโดยใช้สคริปต์ PHP / ASP / ASP.NET

นี่เป็นวิธีที่แนะนำในการเปลี่ยนเส้นทาง URL เนื่องจากคุณสามารถส่งคืนรหัสสถานะ HTTP 301 Moved Permanent

เครื่องมือค้นหาใช้สถานะ 301 เพื่อถ่ายโอนอันดับหน้าจาก URL เก่าไปยัง URL ใหม่

การเปลี่ยนเส้นทางฝั่งไคลเอ็นต์

การเปลี่ยนเส้นทางฝั่งไคลเอ็นต์ทำได้ในเว็บเบราว์เซอร์ของผู้ใช้โดยใช้แท็กรีเฟรชเมตา HTML หรือโค้ด Javascript

การเปลี่ยนเส้นทางไคลเอ็นต์เป็นที่ต้องการน้อยกว่าเนื่องจากไม่ส่งคืนรหัสสถานะ HTTP 301

ตำแหน่งที่จะใส่รหัสเปลี่ยนเส้นทาง


ชื่อโดเมน

เซิร์ฟเวอร์โฮสติ้ง

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

* เฉพาะกับ. htaccessเปลี่ยนเส้นทาง: เพิ่มรหัสเปลี่ยนเส้นทางไปยังไฟล์ httpd.confหรือไฟล์. htaccess

รหัสสถานะ HTTP

รหัสสถานะ ชื่อรหัสสถานะ คำอธิบาย
200 ตกลง คำขอ HTTP ที่ประสบความสำเร็จ
300 หลายทางเลือก  
301 ย้ายถาวร การเปลี่ยนเส้นทาง URL ถาวร
302 พบ การเปลี่ยนเส้นทาง URL ชั่วคราว
303 ดูอื่น ๆ  
304 ไม่ได้แก้ไข  
305 ใช้ Proxy  
307 เปลี่ยนเส้นทางชั่วคราว  
404 ไม่พบ ไม่พบ URL

การเปลี่ยนเส้นทาง HTTP 301

HTTP 301 ย้ายรหัสสถานะถาวรหมายถึงการเปลี่ยนเส้นทาง URL แบบถาวร

การเปลี่ยนเส้นทาง 301 เป็นวิธีที่แนะนำในการเปลี่ยนเส้นทาง URL เนื่องจากจะแจ้งให้เครื่องมือค้นหาทราบว่า URL นั้นถูกย้ายไปแล้วและเครื่องมือค้นหาควรใส่หน้า URL ใหม่ในผลการค้นหาแทนหน้า URL เก่าและโอนหน้า URL ใหม่ อันดับหน้าของหน้า URL เก่า

การเปลี่ยนเส้นทาง 301 สามารถทำได้ในโดเมนหรือโดเมนเดียวกัน

Google แนะนำให้ใช้การเปลี่ยนเส้นทาง 301

ตัวเลือกการเปลี่ยนเส้นทาง

สคริปต์เปลี่ยนเส้นทาง ด้านการเปลี่ยนเส้นทาง ประเภทไฟล์หน้าเก่า เปลี่ยนเส้นทาง URL หรือโดเมน ประเภทเซิร์ฟเวอร์ URL เก่า การสนับสนุนการเปลี่ยนเส้นทาง 301
PHP ฝั่งเซิร์ฟเวอร์ .php URL Apache / ลินุกซ์ ใช่
ASP ฝั่งเซิร์ฟเวอร์ .งูเห่า URL IIS / Windows ใช่
ASP.NET ฝั่งเซิร์ฟเวอร์ .aspx URL IIS / Windows ใช่
.htaccess ฝั่งเซิร์ฟเวอร์ ทั้งหมด URL / โดเมน Apache / ลินุกซ์ ใช่
IIS ฝั่งเซิร์ฟเวอร์ ทั้งหมด URL / โดเมน IIS / Windows ใช่
แท็กลิงก์บัญญัติ HTML ด้านลูกค้า .html URL ทั้งหมด ไม่
การรีเฟรชเมตา HTML ด้านลูกค้า .html URL ทั้งหมด ไม่
กรอบ HTML ด้านลูกค้า .html URL ทั้งหมด ไม่
Javascript ด้านลูกค้า .html URL ทั้งหมด ไม่
jQuery ด้านลูกค้า .html URL ทั้งหมด ไม่

สคริปต์การเปลี่ยนเส้นทาง - ภาษาสคริปต์ที่ใช้สำหรับการเปลี่ยนเส้นทาง

ด้านการเปลี่ยนเส้นทาง - ที่เปลี่ยนเส้นทางจะเกิดขึ้น - ฝั่งเซิร์ฟเวอร์หรือฝั่งไคลเอ็นต์

ประเภทไฟล์หน้าเก่า - ประเภทของหน้า URL เก่าที่สามารถมีภาษาสคริปต์ของรหัสเปลี่ยนเส้นทางได้

เปลี่ยนเส้นทาง URL หรือโดเมน - รองรับการเปลี่ยนเส้นทางURLของหน้าเว็บเดียวหรือการเปลี่ยนเส้นทางโดเมนของทั้งเว็บไซต์

ประเภทเซิร์ฟเวอร์ URL เก่าโดยทั่วไป - ซอฟต์แวร์และระบบปฏิบัติการทั่วไปของเซิร์ฟเวอร์

การสนับสนุนการเปลี่ยนเส้นทาง 301 - ระบุว่าสามารถส่งคืนการตอบสนองสถานะการเปลี่ยนเส้นทาง 301 แบบถาวรได้หรือไม่

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

แทนที่รหัส page.php เก่าด้วยรหัสเปลี่ยนเส้นทางเป็น new-page.php

old_page.php:

<?php
// PHP permanent URL redirection
header("Location: http://www.mydomain.com/new-page.php", true, 301);
exit();
?/

หน้าเก่าต้องมีนามสกุลไฟล์. php

หน้าใหม่สามารถใช้นามสกุลใดก็ได้

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

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

ไฟล์. htaccessเป็นไฟล์คอนฟิกูเรชันโลคัลของเซิร์ฟเวอร์ Apache

หากคุณได้รับอนุญาตให้เปลี่ยนไฟล์ httpd.confคุณควรเพิ่มคำสั่งRedirectในhttpd.confแทนไฟล์. htaccess

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

เปลี่ยนเส้นทางแบบถาวรจากเก่า page.htmlไปใหม่ page.html

.htaccess:

Redirect 301 /old-page.html http://www.mydomain.com/new-page.html

เปลี่ยนเส้นทางโดเมนทั้งหมด

เปลี่ยนเส้นทางแบบถาวรจากหน้าเว็บโดเมนทั้งหมดจะnewdomain.com

ไฟล์.  htaccessควรอยู่ในไดเรกทอรีรากของเว็บไซต์เก่า

.htaccess:

Redirect 301 / http://www.newdomain.com/

โปรดดู: การเปลี่ยนเส้นทาง. htaccess

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

old-page.asp:

<%@ Language="VBScript" %/
<%
' ASP permanent URL redirection
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.mydomain.com/new-page.html"
Response.End
%/

เปลี่ยนเส้นทาง ASP.NET

old-page.aspx:

<script language="C#" runat="server"/
// ASP.net permanent URL redirection
private void Page_Load(object sender, EventArgs e)
{
   Response.Status = "301 Moved Permanently";
   Response.AddHeader("Location","http://www.mydomain.com/new-page.html");
   Response.End();
}
</script/

การเปลี่ยนเส้นทางการรีเฟรชเมตา HTML

การเปลี่ยนเส้นทางแท็กการรีเฟรชเมตา HTML ไม่ส่งคืนรหัสสถานะการเปลี่ยนเส้นทางถาวร 301 แต่ Google ถือว่าเป็นการเปลี่ยนเส้นทาง 301

แทนที่หน้าเก่าด้วยรหัสการเปลี่ยนเส้นทางด้วย URL ของหน้าที่คุณต้องการเปลี่ยนเส้นทางไป

old-page.html:

<!-- HTML meta refresh URL redirection --/
<html/
<head/
   <meta http-equiv="refresh"
   content="0; url=http://www.mydomain.com/new-page.html"/
</head/
<body>
   <p>The page has moved to:
   <a href="http://www.mydomain.com/new-page.html">this page</a></p>
</body>
</html>

ดู: การเปลี่ยนเส้นทาง HTML

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

การเปลี่ยนเส้นทาง Javascript ไม่ส่งคืนรหัสสถานะการเปลี่ยนเส้นทางถาวร 301

แทนที่หน้าเก่าด้วยรหัสการเปลี่ยนเส้นทางด้วย URL ของหน้าที่คุณต้องการเปลี่ยนเส้นทางไป

old-page.html:

<html>
<body>
<script type="text/javascript">
    // Javascript URL redirection
    window.location.replace("http://www.mydomain.com/new-page.html");
</script>
</body>
</html>

ดู: การเปลี่ยนเส้นทาง Javascript

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

jQuery redirect เป็นการเปลี่ยนเส้นทาง Javascript อีกประเภทหนึ่ง

jQuery redirect ไม่ส่งคืนรหัสสถานะการเปลี่ยนเส้นทางถาวร 301

แทนที่หน้าเก่าด้วยรหัสการเปลี่ยนเส้นทางด้วย URL ของหน้าที่คุณต้องการเปลี่ยนเส้นทางไป

old-page.html:

<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
   // jQuery URL redirection
   $(document).ready( function() {
      url = "http://www.mydomain.com/new-page.html";
      $( location ).attr("href", url);
  });
</script>
</body>
</html>

ดู: การเปลี่ยนเส้นทาง jQuery

การเปลี่ยนเส้นทางแท็กลิงก์บัญญัติ HTML

ลิงก์ Canonical ไม่ได้เปลี่ยนเส้นทางไปยัง URL ที่กำหนดไว้ล่วงหน้า แต่อาจเป็นอีกทางเลือกหนึ่งของการเปลี่ยนเส้นทาง URL สำหรับเว็บไซต์ที่การเข้าชมส่วนใหญ่มาจากเครื่องมือค้นหา

คุณสามารถใช้แท็กลิงก์ HTML Canonical เมื่อมีหลายหน้าที่มีเนื้อหาคล้ายกันและคุณต้องการบอกให้เครื่องมือค้นหาทราบว่าคุณต้องการใช้หน้าใดในผลการค้นหา

แท็กลิงก์ Canonical สามารถเชื่อมโยงไปยังโดเมนเดียวกันและข้ามโดเมนได้

เพิ่มแท็กลิงก์ Canonical ลงในหน้าเก่าเพื่อลิงก์ไปยังหน้าใหม่

เพิ่มแท็กลิงก์ Canonical ลงในหน้าที่คุณไม่ต้องการให้มีการเข้าชมจากเครื่องมือค้นหาเพื่อเชื่อมโยงไปยังหน้าที่เตรียมไว้

ควรเพิ่มแท็กลิงก์ Canonical ในส่วน <head>

old-page.html:

<link rel="canonical" href="http://www.mydomain.com/new-page.html">

โปรดดูที่ลิงค์ Canonical URL

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

ในการเปลี่ยนเส้นทางเฟรมไฟล์new-page.htmlจะถูกดูโดยเฟรม html

นี่ไม่ใช่การเปลี่ยนเส้นทาง URL จริง

การเปลี่ยนเส้นทางเฟรมไม่เป็นมิตรกับเครื่องมือค้นหาและไม่แนะนำ

old-page.html:

<!-- HTML frame redirection -->
<html>
<head>
    <title>Title of new page</title>
</head>
<frameset cols="100%">
    <frame src="http://www.mydomain.com/new-page.html">
    <noframes>
     <a href="http://www.mydomain.com/new-page.html">Link to new page</a>
    </noframes>
</frameset>
</html>

 

301 ตัวสร้างการเปลี่ยนเส้นทาง►

 


ดูสิ่งนี้ด้วย

การพัฒนาเว็บ
ตารางอย่างรวดเร็ว