การเปลี่ยนเส้นทาง URL httpคือการดำเนินการเปลี่ยน URL อัตโนมัติจาก URL หนึ่งไปยังอีก URL หนึ่ง
การเปลี่ยนเส้นทางหน้า URL เป็นการดำเนินการเปลี่ยน 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
รหัสสถานะ | ชื่อรหัสสถานะ | คำอธิบาย |
---|---|---|
200 | ตกลง | คำขอ HTTP ที่ประสบความสำเร็จ |
300 | หลายทางเลือก | |
301 | ย้ายถาวร | การเปลี่ยนเส้นทาง URL ถาวร |
302 | พบ | การเปลี่ยนเส้นทาง URL ชั่วคราว |
303 | ดูอื่น ๆ | |
304 | ไม่ได้แก้ไข | |
305 | ใช้ Proxy | |
307 | เปลี่ยนเส้นทางชั่วคราว | |
404 | ไม่พบ | ไม่พบ URL |
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 แบบถาวรได้หรือไม่
แทนที่รหัส 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
ไฟล์. htaccessเป็นไฟล์คอนฟิกูเรชันโลคัลของเซิร์ฟเวอร์ Apache
หากคุณได้รับอนุญาตให้เปลี่ยนไฟล์ httpd.confคุณควรเพิ่มคำสั่งRedirectในhttpd.confแทนไฟล์. htaccess
เปลี่ยนเส้นทางแบบถาวรจากเก่า 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
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
%/
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 ไม่ส่งคืนรหัสสถานะการเปลี่ยนเส้นทางถาวร 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 ไม่ส่งคืนรหัสสถานะการเปลี่ยนเส้นทางถาวร 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 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
ลิงก์ 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
ในการเปลี่ยนเส้นทางเฟรมไฟล์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 ตัวสร้างการเปลี่ยนเส้นทาง►