Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Để chuyển hướng khách truy cập sang một trang khác (đặc biệt hữu ích trong một vòng lặp có điều kiện), chỉ cần sử dụng mã sau:

<?php
    header('Location: mypage.php');
?>

Trong trường hợp này,

<?php
    header('Location: /directory/mypage.php');
?>
4 là địa chỉ của trang mà bạn muốn chuyển hướng khách truy cập. Địa chỉ này có thể là tuyệt đối và cũng có thể bao gồm các tham số ở định dạng này:
<?php
    header('Location: /directory/mypage.php');
?>
5

Đường dẫn tương đối/tuyệt đối

Khi xử lý các đường dẫn tương đối hoặc tuyệt đối, thật lý tưởng khi chọn một đường dẫn tuyệt đối từ gốc của máy chủ (Document_root). Sử dụng định dạng sau:

<?php
    header('Location: /directory/mypage.php');
?>

Nếu từng trang đích trên một máy chủ khác, bạn sẽ bao gồm URL đầy đủ:

<?php
    header('Location: http://www.ccm.net/forum/');
?>

Tiêu đề HTTP

Theo giao thức HTTP, các tiêu đề HTTP phải được gửi

<?php
    header('Location: /directory/mypage.php');
?>
6 bất kỳ loại nội dung nào. Điều này có nghĩa là không có ký tự nào nên được gửi trước tiêu đề - thậm chí không phải là một không gian trống!

Chuyển hướng tạm thời/vĩnh viễn

Theo mặc định, loại chuyển hướng được trình bày ở trên là một tạm thời. Điều này có nghĩa là các công cụ tìm kiếm, chẳng hạn như tìm kiếm Google, sẽ không tính đến việc chuyển hướng khi lập chỉ mục.

Nếu bạn muốn thông báo cho các công cụ tìm kiếm rằng một trang đã được chuyển vĩnh viễn đến một vị trí khác, hãy sử dụng mã sau:

<?
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: new_address');
?>

Ví dụ: trang này có mã sau:

<?
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: /pc/imprimante.php3');
    exit();
?>

Khi bạn nhấp vào liên kết ở trên, bạn sẽ tự động chuyển hướng đến trang này. Hơn nữa, nó là một chuyển hướng vĩnh viễn (trạng thái: 301 di chuyển vĩnh viễn). Vì vậy, nếu bạn nhập URL đầu tiên vào Google, bạn sẽ tự động được chuyển hướng đến liên kết thứ hai, được chuyển hướng.

Giải thích mã PHP

Mã PHP nằm sau tiêu đề () sẽ được máy chủ diễn giải, ngay cả khi khách truy cập chuyển đến địa chỉ được chỉ định trong chuyển hướng. Trong hầu hết các trường hợp, điều này có nghĩa là bạn cần một phương thức để tuân theo hàm

<?php
    header('Location: /directory/mypage.php');
?>
7 của hàm
<?php
    header('Location: /directory/mypage.php');
?>
8 để giảm tải của máy chủ:

<?
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: address');
    exit();
?>

Chủ đề: PHP / mysqlprev | Tiếp theoPrev|Next

Trả lời: Sử dụng chức năng PHP <?php header('Location: /directory/mypage.php'); ?> 7

Bạn có thể chỉ cần sử dụng chức năng PHP

<?php
    header('Location: /directory/mypage.php');
?>
7 để chuyển hướng người dùng đến một trang khác.

Mã PHP trong ví dụ sau sẽ chuyển hướng người dùng từ trang mà nó được đặt vào URL

<?php
    header('Location: http://www.ccm.net/forum/');
?>
1. Bạn cũng có thể chỉ định URL tương đối.

<?php
header("Location: http://www.example.com/another-page.php");
exit();
?>

Nếu bạn muốn chuyển hướng người dùng từ trang cũ sang trang mới trên cơ sở vĩnh viễn thì cũng đề cập đến mã phản hồi HTTP trong hàm

<?php
    header('Location: /directory/mypage.php');
?>
7 như trong ví dụ sau, để các công cụ tìm kiếm chuyển "Xếp hạng trang" từ trang cũ sang trang cũ sang trang cũ sang trang cũ trang mới.

<?php
// 301 Moved Permanently
header("Location: http://www.example.com/another-page.php", true, 301);
exit();
?>

Nếu mã trạng thái không được chỉ định rõ ràng, ví dụ

<?php
    header('Location: http://www.ccm.net/forum/');
?>
3 mặc định là 302 (tìm thấy). Để chuyển hướng tạm thời, sử dụng mã trạng thái HTTP 307.


Câu hỏi thường gặp liên quan

Dưới đây là một số Câu hỏi thường gặp liên quan đến chủ đề này:

  • Cách nhận URL trang hiện tại trong PHP
  • Cách xóa các ký tự đặc biệt khỏi chuỗi trong PHP
  • Cách trích xuất chuỗi con từ một chuỗi trong PHP

PHP cung cấp năng lượng cho một số trang web phổ biến nhất trên thế giới, bao gồm cả những trang web được xây dựng trên WordPress. Nếu trang web của bạn khai thác sức mạnh của PHP, thì nó có giá trị để học cách tận dụng tối đa - và một cách để làm điều đó là với chuyển hướng PHP. Tìm ra cách tạo chuyển hướng PHP sẽ mang lại chức năng mới cho trang web của bạn.

Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Chúng tôi sẽ chia sẻ mọi thứ bạn cần biết về thế giới chuyển hướng PHP. Để bắt đầu, chúng tôi sẽ cung cấp một sự bồi dưỡng về PHP là gì, chuyển hướng là gì, và cuối cùng, làm thế nào để chuyển hướng trong PHP. & NBSP;

  • PHP là gì? & Nbsp;
  • Chuyển hướng PHP là gì? & NBSP;
  • Làm thế nào để bạn tạo chuyển hướng PHP? & NBSP;
  • Mã phản hồi trạng thái HTTP là gì? & NBSP;
  • Bạn có thể thiết lập chuyển hướng PHP mà không cần chức năng tiêu đề không? & NBSP;
  • Những điều cần lưu ý khi thiết lập chuyển hướng PHP & NBSP;

Thuật ngữ ‘PHP, là một từ viết tắt của‘> PHP: Tiền xử lý siêu văn bản. Ngôn ngữ kịch bản nguồn mở này là phía máy chủ và nó thường được sử dụng để phát triển trang web. Nó có thể được sử dụng để tạo các ứng dụng, trang web và nhiều hơn nữa. & NBSP;

Ngôn ngữ kịch bản phổ biến này đã đạt được động lực bởi vì nó linh hoạt, nhanh chóng và dễ học. Và trong khi PHP chủ yếu được sử dụng để tạo ra các trang web được tạo động một cách nhanh chóng, nó có thể làm nhiều hơn thế. Chẳng hạn, PHP có thể đơn giản hóa các nhiệm vụ nhất định như thiết lập chuyển hướng.

Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Hãy cùng xem xét kỹ hơn về việc chuyển hướng PHP là gì và đi qua cách tự thiết lập một.

Chuyển hướng PHP là gì? & NBSP;

Làm thế nào để bạn tạo chuyển hướng PHP? & NBSP;

Mã phản hồi trạng thái HTTP là gì? & NBSP;

Bạn có thể thiết lập chuyển hướng PHP mà không cần chức năng tiêu đề không? & NBSP;

Những điều cần lưu ý khi thiết lập chuyển hướng PHP & NBSP;

Làm thế nào để bạn tạo chuyển hướng PHP? & NBSP;

Mã phản hồi trạng thái HTTP là gì? & NBSP;header(). 

Bạn có thể thiết lập chuyển hướng PHP mà không cần chức năng tiêu đề không? & NBSP;

Những điều cần lưu ý khi thiết lập chuyển hướng PHP & NBSP;header("Location: http://www.example.com/"); or header("Location: example.php/");

Theo dấu chấm phẩy, bạn phải thêm một hàm khác: hàm chết () hoặc thoát (). & Nbsp; không có một trong hai chức năng này, trình thu thập công cụ tìm kiếm hoặc bot có thể bỏ qua chức năng tiêu đề và tiếp tục xử lý trang bạn muốn chuyển hướng đi từ.

Điều này có thể có vấn đề bởi vì nếu bạn đang tìm cách bảo vệ một trang nhất định với chuyển hướng tiêu đề, quên sử dụng DE DE hoặc thoát có nghĩa là trang của bạn dễ bị tổn thương. Hơn nữa, điều này làm cho chuyển hướng PHP không hiệu quả. Ở đây, cách thức tiêu đề của bạn có thể chăm sóc sau bước này: & nbsp; tiêu đề ("Vị trí: http://www.example.com/"); lối ra;header("Location: http://www.example.com/"); exit;

Cuối cùng, bạn phải bọc chức năng trong các thẻ. Kết quả sẽ trông giống như thế này:

 
<?php

header('Location: http://www.example.com/');

exit;

?>

Tiêu đề chuyển hướng PHP

Bây giờ bạn đã hiểu công thức cơ bản để tạo chuyển hướng PHP, hãy để thảo luận về một số quy tắc bổ sung cần thiết để sử dụng đúng hàm tiêu đề (). & NBSP;

Trước tiên, hãy nhớ nơi bạn đặt hàm tiêu đề () trong tệp index.php của bạn không phải là tùy ý. Thứ hai, hãy nhớ lại rằng bạn có thể chọn đặt mã trạng thái HTTP. Chúng sẽ kiểm soát cách máy chủ chuyển hướng một công cụ tìm kiếm hoặc người dùng.

Vị trí tiêu đề PHP

Để chuyển hướng PHP của bạn thành công, hàm Header () phải thực thi - và trước khi bất kỳ đầu ra nào được gửi. Đây là lý do tại sao mã của bạn phải xuất hiện trên các thẻ hoặc các thẻ trong tệp index.php của bạn. & Nbsp;

Nếu bạn không hoàn thành việc này, bạn có thể thấy một thông báo lỗi cho bạn biết, các tiêu đề đã được gửi. Lỗi có thể không phải là một lỗi lớn - hàm tiêu đề rất khó khăn đến nỗi một không gian trắng duy nhất có thể nhắc lỗi này.

Ở đây, một cái nhìn về vị trí thích hợp:

 
<?php

header('Location: http://www.example.com/');

exit;

?>

<!DOCTYPE html>

<html>

    <head>

        <title>Example</title>

    </head>

    <body>

        <p>Hello, world!</p>

    </body>

</html>

Đây là một cái nhìn về một địa điểm không phù hợp:

<?php
    header('Location: /directory/mypage.php');
?>
0

Mã phản hồi trạng thái HTTP là gì?

Có một lý do tại sao mã phản hồi trạng thái HTTP xuất hiện: Để thông báo cho bạn rằng yêu cầu HTTP của bạn có được hoàn thành thành công hay không. Tuy nhiên, không phải tất cả các mã phản hồi đều giống nhau - có các nhóm khác nhau, bao gồm cả chuyển hướng. & NBSP;

Chúng được nhóm thành năm loại khác nhau: thông tin (100-199), thành công (200-299), chuyển hướng (300-399), lỗi máy khách (400-499) và cuối cùng là lỗi máy chủ (500-599). Bởi vì mã trạng thái chuyển hướng thay đổi cách các trình duyệt và công cụ tìm kiếm xử lý chuyển hướng, nên bạn khuyến nghị bạn nên đặt mã trạng thái khi sử dụng tiêu đề (vị trí :). Dưới đây là hai mã trạng thái chuyển hướng phổ biến mà bạn nên biết.

Mã 302

Trong các tình huống mà mã trạng thái không được chỉ định trong hàm tiêu đề, nó sẽ mặc định là 302. Do đó, khi bạn thấy 302, điều này cho thấy chuyển hướng tạm thời và URL yêu cầu tạm thời cư trú theo một URI khác nhau & NBSP;

Nếu bạn trải nghiệm chuyển hướng 302, trình duyệt của bạn thường chỉ lưu trữ trang cho phiên. Ngoài ra, các công cụ tìm kiếm thường không chuyển xếp hạng trang sang vị trí mới. Đây là lý do tại sao chuyển hướng 302 là lý tưởng để thực hiện bảo trì trang web hoặc các trường hợp sử dụng tạm thời khác. & NBSP;

Ở đây, những gì một cuộc gọi tiêu đề trông giống như mã 302 được chỉ định:

<?php
    header('Location: /directory/mypage.php');
?>
1

Cuộc gọi này không chỉ gửi tiêu đề trở lại trình duyệt - nó còn trả về mã trạng thái chuyển hướng 302.

Php 301 chuyển hướng

Để đặt chuyển hướng PHP vĩnh viễn, bạn có thể sử dụng mã trạng thái 301. Vì mã này cho biết chuyển hướng không xác định, trình duyệt tự động chuyển hướng người dùng bằng URL cũ sang địa chỉ trang mới. Nó cũng thông báo cho các công cụ tìm kiếm rằng trang này không còn nữa nhưng được thay thế bằng trang mới. Do đó, chuyển hướng 301 được coi là mã 3XX thân thiện với người dùng và tìm kiếm nhất.

Tại đây, những gì mà tiêu đề gọi với mã 301 được chỉ định trông giống như:

<?php
    header('Location: /directory/mypage.php');
?>
2

Sự khác biệt chính giữa chuyển hướng 301 đến 302 là gì?

Ngoài sự trường tồn của chúng, có một vài yếu tố khác phân biệt chuyển hướng 301 và 302 với nhau. Đối với một, các trình duyệt thường lưu trữ trang dài hơn phiên, đôi khi thậm chí vô thời hạn. Các công cụ tìm kiếm cũng thường chuyển thứ hạng trang đến vị trí mới. Điều này thiết lập 301 chuyển hướng lý tưởng để chuyển hướng nội dung trùng lặp và di chuyển đến một miền mới.

Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Bạn có thể thiết lập chuyển hướng PHP mà không có chức năng tiêu đề không?

Nếu bạn gặp khó khăn với chức năng tiêu đề, nó vẫn có thể thiết lập chuyển hướng PHP với sự trợ giúp của JavaScript. Mặc dù chuyển hướng có thể chậm hơn khi sử dụng JavaScript, nhưng nó vẫn sẽ có hiệu quả. & NBSP;

Chỉ có một vài bước để thiết lập chuyển hướng với JavaScript. Bắt đầu với chức năng Window.location. Thêm thuộc tính HREF với URL bạn muốn chuyển hướng người dùng và tìm kiếm các bot công cụ. Hãy chắc chắn bao gồm các thuộc tính thích hợp để đảm bảo nó mở trong một cửa sổ mới. Cuối cùng, bọc nó trong thẻ.

Mã sẽ trông như thế này:

<?php
    header('Location: /directory/mypage.php');
?>
3

Mặc dù phương pháp JavaScript hoạt động, nhưng nó không tối ưu vì một vài lý do. Nó không chỉ chậm hơn, mà JavaScript cũng phải được bật và tải xuống trên trình duyệt của máy khách để nó hoạt động. Ngoài ra, không có bất kỳ mã trạng thái nào liên quan để bạn không thể bao gồm thông tin chuyển hướng để hướng dẫn các công cụ tìm kiếm.

Những điều cần lưu ý khi thiết lập chuyển hướng PHP

Như chúng tôi đã đề cập trước đây, điều quan trọng là phải nắm bắt chắc chắn cách thiết lập đúng hướng chuyển PHP trước khi bạn thử. Nhận thức được các thực tiễn tốt nhất sẽ giúp đảm bảo chuyển hướng của bạn thành công. Dưới đây là một vài điều khác cần ghi nhớ khi thiết lập chúng. & NBSP;

URL tương đối so với URL tuyệt đối & NBSP;

Bạn có thể sử dụng cả URL tương đối và URL tuyệt đối khi tạo chuyển hướng. Tuy nhiên, sử dụng thận trọng trước khi bao gồm các chuyển hướng tương đối. Đôi khi các nhà xây dựng trang web đối chiếu và sau đó đổi tên các trang PHP. Trong một số trường hợp, trong khi làm việc trên PHP của bạn thông qua một người xây dựng trang web, cuối cùng bạn có thể phá vỡ tất cả các chuyển hướng trang web của bạn. & NBSP;

Cách tốt nhất để đảm bảo điều này không xảy ra là bằng cách giữ một con mắt thận trọng về nơi chuyển hướng điểm.

Kiểm tra tài liệu

Nó luôn luôn là một ý tưởng tốt để đọc tài liệu về cách sử dụng đúng chuyển hướng PHP trước khi xuất bản. Điều này đảm bảo rằng bạn làm theo các thực tiễn tốt nhất và hiểu đầy đủ những gì bạn đạt được. & NBSP;

.

Thiết lập chuyển hướng PHP để giúp người dùng và tìm kiếm công cụ & NBSP;

Chuyển hướng PHP có thể giúp người dùng và công cụ tìm kiếm điều hướng trơn tru và an toàn giữa các trang trên trang web của bạn. Tin tốt là thiết lập các chuyển hướng này rất dễ dàng nhờ hàm tiêu đề ().

Lưu ý của biên tập viên: Bài đăng này ban đầu được xuất bản vào tháng 12 năm 2020 và đã được cập nhật về tính toàn diện.

Hướng dẫn how redirect url in php? - cách chuyển hướng url trong php?

Làm thế nào tôi có thể chuyển hướng URL sang URL khác trong PHP?

Để đặt chuyển hướng PHP vĩnh viễn, bạn có thể sử dụng mã trạng thái 301. Vì mã này cho biết chuyển hướng không xác định, trình duyệt tự động chuyển hướng người dùng bằng URL cũ sang địa chỉ trang mới.use the status code 301. Because this code indicates an indefinite redirection, the browser automatically redirects the user using the old URL to the new page address.

Làm thế nào một trang được chuyển hướng trong PHP?

Hàm tiêu đề trong PHP có thể được sử dụng để chuyển hướng người dùng từ trang này sang trang khác.Đây là một chức năng được xây dựng mà gửi tiêu đề HTTP RAW đến đích (máy khách).'Header_Value' trong hàm được sử dụng để lưu trữ chuỗi tiêu đề.. It is an in-built function that sends raw HTTP header to the destination (client). The 'header_value' in the function is used to store the header string.

Tại sao chuyển hướng PHP không hoạt động?

Nguyên nhân gốc rễ của lỗi này là tiêu đề chuyển hướng PHP phải được gửi trước bất cứ điều gì khác.Điều này có nghĩa là bất kỳ không gian hoặc ký tự được gửi đến trình duyệt trước khi các tiêu đề sẽ dẫn đến lỗi này.Giống như ví dụ sau, không nên có bất kỳ đầu ra nào của một không gian trước khi các tiêu đề được gửi.php redirect header must be send before anything else. This means any space or characters sent to browser before the headers will result in this error. Like following example, there should not be any output of even a space before the headers are sent.