Chuyển hướng URL http là hoạt động thay đổi URL tự động từ URL này sang URL khác.
Chuyển hướng trang URL là hoạt động thay đổi URL tự động từ URL này sang URL khác.
Việc chuyển hướng này được thực hiện vì những lý do sau:
Người dùng có thể truy cập URL cũ từ một liên kết bên ngoài cũ hoặc một dấu trang.
bởi quản trị viên của trang web, người đã thêm một tập lệnh.
Chuyển hướng phía máy chủ được thực hiện trong máy chủ, bằng cách cấu hình phần mềm máy chủ Apache / IIS hoặc bằng cách sử dụng tập lệnh PHP / ASP / ASP.NET.
Đây là cách ưa thích để chuyển hướng URL, vì bạn có thể trả về mã trạng thái HTTP 301 Moved Permanently.
Các công cụ tìm kiếm sử dụng trạng thái 301 để chuyển thứ hạng trang từ URL cũ sang URL mới.
Chuyển hướng phía máy khách được thực hiện trong trình duyệt web của người dùng, bằng cách sử dụng thẻ làm mới meta HTML hoặc bằng mã Javascript.
Chuyển hướng máy khách ít được ưu tiên hơn, vì nó không trả về mã trạng thái HTTP 301.
miền tên |
Máy chủ lưu trữ |
Chuyển hướng vị trí mã |
---|---|---|
đã không thay đổi | đã không thay đổi | trang cũ trên cùng một máy chủ |
đã không thay đổi | đã thay đổi | trang cũ trên máy chủ mới |
đã thay đổi | đã không thay đổi | trang cũ trên cùng một máy chủ |
đã thay đổi | đã thay đổi | trang cũ trên máy chủ cũ |
* Chỉ với chuyển hướng .htaccess : thêm mã chuyển hướng vào tệp httpd.conf hoặc vào tệp .htaccess .
Mã trạng thái | Tên mã trạng thái | Sự miêu tả |
---|---|---|
200 | OK | yêu cầu HTTP thành công |
300 | Nhiều lựa chọn | |
301 | Đã di chuyển vĩnh viễn | chuyển hướng URL vĩnh viễn |
302 | Tìm | chuyển hướng URL tạm thời |
303 | Xem Khác | |
304 | Không sửa đổi | |
305 | Sử dụng Proxy | |
307 | Chuyển hướng tạm thời | |
404 | Không tìm thấy | URL không tìm thấy |
Mã trạng thái HTTP 301 Moved Permanently có nghĩa là chuyển hướng URL vĩnh viễn.
Chuyển hướng 301 là cách ưa thích để chuyển hướng các URL, vì nó thông báo cho các công cụ tìm kiếm rằng URL đã được di chuyển tốt và các công cụ tìm kiếm nên đặt trang URL mới vào kết quả tìm kiếm thay vì trang URL cũ và chuyển trang URL mới, thứ hạng trang của trang URL cũ.
Chuyển hướng 301 có thể được thực hiện trên các miền hoặc trên cùng một miền.
Google khuyên bạn nên sử dụng chuyển hướng 301.
Tập lệnh chuyển hướng | Chuyển hướng bên | Loại tệp trang cũ | URL hoặc miền chuyển hướng | Loại máy chủ URL cũ | Hỗ trợ chuyển hướng 301 |
---|---|---|---|---|---|
PHP | Phía máy chủ | .php | URL | Apache / Linux | có |
ASP | Phía máy chủ | .asp | URL | IIS / Windows | có |
ASP.NET | Phía máy chủ | .aspx | URL | IIS / Windows | có |
.htaccess | Phía máy chủ | tất cả | URL / Tên miền | Apache / Linux | có |
IIS | Phía máy chủ | tất cả | URL / Tên miền | IIS / Windows | có |
Thẻ liên kết chuẩn HTML | Phía khách hàng | .html | URL | tất cả | không |
Làm mới meta HTML | Phía khách hàng | .html | URL | tất cả | không |
Khung HTML | Phía khách hàng | .html | URL | tất cả | không |
Javascript | Phía khách hàng | .html | URL | tất cả | không |
jQuery | Phía khách hàng | .html | URL | tất cả | không |
redirect script - ngôn ngữ kịch bản được sử dụng để chuyển hướng.
phía chuyển hướng - nơi chuyển hướng diễn ra - phía máy chủ hoặc phía máy khách .
loại tệp trang cũ - loại trang URL cũ có thể chứa ngôn ngữ kịch bản của mã chuyển hướng.
URL hoặc tên miền chuyển hướng - hỗ trợ chuyển hướng URL của một trang web hoặc chuyển hướng tên miền của toàn bộ trang web.
loại máy chủ URL cũ điển hình - phần mềm và hệ điều hành điển hình của máy chủ.
Hỗ trợ chuyển hướng 301 - cho biết liệu phản hồi trạng thái chuyển hướng 301 vĩnh viễn có thể được trả lại hay không.
Thay thế mã old-page.php bằng mã chuyển hướng thành new-page.php.
old_page.php:
<?php
// PHP permanent URL redirection
header("Location: http://www.mydomain.com/new-page.php", true,
301);
exit();
?/
Trang cũ phải có phần mở rộng là .php.
Trang mới có thể có bất kỳ phần mở rộng nào.
Xem: chuyển hướng PHP
Tệp .htaccess là tệp cấu hình cục bộ của máy chủ Apache.
Nếu bạn có quyền thay đổi tệp httpd.conf , tốt hơn nên thêm chỉ thị Chuyển hướng trong httpd.conf thay vì tệp .htaccess .
Chuyển hướng vĩnh viễn từ old-page.html sang new-page.html .
.htaccess:
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
Chuyển hướng vĩnh viễn từ tất cả các trang miền đến newdomain.com .
Tệp .htaccess phải ở thư mục gốc của trang web cũ.
.htaccess:
Redirect 301 / http://www.newdomain.com/
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/
Chuyển hướng thẻ meta làm mới HTML không trả về mã trạng thái chuyển hướng vĩnh viễn 301 mà được Google coi là chuyển hướng 301.
Thay thế trang cũ bằng mã chuyển hướng bằng URL của trang bạn muốn chuyển hướng đến.
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>
Xem: Chuyển hướng HTML
Chuyển hướng Javascript không trả về mã trạng thái chuyển hướng vĩnh viễn 301.
Thay thế trang cũ bằng mã chuyển hướng bằng URL của trang bạn muốn chuyển hướng đến.
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>
jQuery redirect thực chất là một loại chuyển hướng Javascript khác.
jQuery redirect không trả về mã trạng thái chuyển hướng vĩnh viễn 301.
Thay thế trang cũ bằng mã chuyển hướng bằng URL của trang bạn muốn chuyển hướng đến.
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>
Xem: chuyển hướng jQuery
Liên kết chuẩn không chuyển hướng đến URL có sẵn, nhưng nó có thể là một giải pháp thay thế cho chuyển hướng URL cho các trang web mà hầu hết lưu lượng truy cập đến từ các công cụ tìm kiếm.
Thẻ liên kết chuẩn HTML có thể được sử dụng khi có một số trang có nội dung tương tự và bạn muốn cho các công cụ tìm kiếm biết bạn chọn trang nào để sử dụng trong kết quả tìm kiếm.
Thẻ liên kết chuẩn có thể liên kết đến cùng một tên miền và cũng có thể liên kết giữa các tên miền.
Thêm thẻ liên kết chuẩn vào trang cũ để liên kết đến trang mới.
Thêm thẻ liên kết chuẩn vào các trang mà bạn đặt trước để không nhận được lưu lượng truy cập của công cụ tìm kiếm để liên kết đến trang ưa thích.
Thẻ liên kết chuẩn phải được thêm vào phần <head>.
old-page.html:
<link rel="canonical" href="http://www.mydomain.com/new-page.html">
Xem: Liên kết URL chuẩn
Trong chuyển hướng khung , tệp new-page.html được xem bằng khung html.
Đây không phải là chuyển hướng URL thực.
Chuyển hướng khung không thân thiện với công cụ tìm kiếm và không được khuyến khích.
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>