Làm cách nào để chuyển hướng vị trí trong PHP?

Chuyển hướng PHP là một công cụ cực kỳ hữu ích, nhưng chúng cũng có thể nguy hiểm nếu không được triển khai đúng cách

Nếu bạn đã xem qua phần giới thiệu của chúng tôi về PHP 7. 4 và hướng dẫn của chúng tôi về cách xây dựng trang web trong 5 phút, bạn sẽ biết rằng hàm header[] có thể được sử dụng để dễ dàng chuyển hướng người dùng đến một trang khác. Tuy nhiên, trên thực tế, việc sử dụng chức năng này không đơn giản như người ta tưởng. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tạo một chuyển hướng PHP mà không gây ra các vấn đề lớn về sau

Phương thức cơ bản để chuyển hướng PHP

Hầu hết các hướng dẫn sẽ cho bạn biết rằng để tạo chuyển hướng PHP, bạn chỉ cần sử dụng hàm header[] ở đầu trang của mình. Để làm được điều đó, bạn sử dụng chức năng gửi một URL mới, như thế này

header['Location: '.$newURL.php];

This header function should be put before you pass any HTML or text to your users’ browsers, so it should be right at the top of the page. That means it should come before the declaration, before any Java, and before any PHP code. It will then send users to the new URL.

Mặc dù có vẻ đơn giản, nhưng khi nói đến hàm header[], sự đơn giản của mã có thể khiến các nhà phát triển có cảm giác an toàn sai lầm. Vì vậy, hãy xem cách bạn có thể sử dụng chức năng này một cách chính xác

Chết [] và Thoát []

Đầu tiên, bạn nên sử dụng công cụ sửa đổi die[] hoặc exit[] mỗi khi bạn sử dụng chuyển hướng. Tóm lại, vấn đề là các trình thu thập thông tin và bot có thể bỏ qua các tiêu đề và do đó, trang mà bạn cho rằng mình đang chuyển hướng khỏi đó hoàn toàn có thể truy cập được đối với chúng. Nói cách khác, nếu bạn đang sử dụng chuyển hướng tiêu đề để bảo vệ một trang cụ thể, thì nó không bảo vệ bạn chút nào

Đó là lý do tại sao bạn phải dừng xử lý phần còn lại của trang, trong trường hợp chuyển hướng bị bỏ qua. Cách để làm điều đó là thêm die[] hoặc exit[] sau chuyển hướng của bạn

header["Location: .$newURL.php"];
die[];

URL tương đối và tuyệt đối

Tiếp theo, hãy nói về URL tương đối và tuyệt đối trong chuyển hướng. RFC 7231 cho phép bạn sử dụng cả hai, nhưng bạn nên cực kỳ cẩn thận khi sử dụng chuyển hướng tương đối. Đó là bởi vì một số nhà xây dựng trang web đối chiếu và đổi tên các trang PHP. Điều này có nghĩa là nếu bạn đang làm việc trên PHP của mình thông qua một trình tạo trang web, bạn có thể sẽ phá vỡ tất cả các chuyển hướng của mình

Thật không may, hiện tại không có cách thực sự nào để giải quyết vấn đề này, nếu không có cái nhìn tổng quan cẩn thận về nơi các chuyển hướng của bạn đang trỏ đến

Mã trạng thái

Vấn đề thứ ba với các chuyển hướng PHP tiêu chuẩn là toán tử “vị trí” của PHP vẫn trả về mã HTTP 302. Bạn không nên cho phép nó làm điều đó, bởi vì nhiều trình duyệt web triển khai mã này theo cách hoàn toàn trái ngược với cách mà nó được cho là hoạt động. về cơ bản họ sử dụng lệnh GET thay vì thực hiện chuyển hướng "thực"

Do đó, cách thực hành tốt nhất khi xây dựng các chuyển hướng PHP là chỉ định mã được trả về. Thật không may, mã chính xác để sử dụng là một điểm gây tranh cãi. HTTP 301 cho biết chuyển hướng vĩnh viễn, điều này có thể khiến bạn gặp sự cố khi khôi phục trang gốc của mình. Rất tiếc, HTTP 303 được nhiều trình duyệt hiểu là “khác” và có thể gây ra sự cố khi lập chỉ mục trang của bạn thông qua các công cụ tìm kiếm

Trong thực tế, và cho đến khi tình trạng này được giải quyết, hãy sử dụng HTTP 303

Kiểm tra tài liệu

Ngoài việc thực hiện các biện pháp phòng ngừa cơ bản ở trên, bạn nên dành chút thời gian để đọc tài liệu về cách sử dụng chuyển hướng PHP trước khi xuất bản chúng. Bạn nên kiểm tra hướng dẫn sử dụng PHP để đảm bảo rằng bạn hiểu những gì bạn đang làm, cũng như kiểm tra tài liệu W3C để đảm bảo rằng bạn đang tuân theo phương pháp hay nhất

Và trong khi bạn đang bắt kịp bài đọc của mình, hãy đảm bảo rằng bạn cũng bảo vệ trang web khỏi các lỗ hổng phổ biến. nếu bạn đã ở trong tình thế phải sử dụng chuyển hướng PHP, có khả năng bảo mật trang web của bạn sẽ cần được kiểm tra

Các phương pháp khác

Với tất cả những vấn đề này, có lẽ bạn đang tự hỏi tại sao bạn lại sử dụng chuyển hướng PHP. Đó là một câu hỏi chính đáng. Mặc dù các chuyển hướng PHP thường được thực hiện nhanh hơn các loại chuyển hướng khác và do đó có thể là một công cụ quan trọng trong việc cải thiện tốc độ trang web, vẫn có các tùy chọn khác

There are two main approaches to doing this. You can either use the HTML element to redirect from within the HTML portion of your page,  or use JavaScript. The first approach – using would look like this:

Cách tiếp cận thứ hai – sử dụng JavaScript – thanh lịch hơn một chút và chắc chắn trông chuyên nghiệp hơn

window.location.replace["//newpage.php/"];

Cả hai cách tiếp cận này sẽ thực thi chậm hơn một chút so với chuyển hướng tiêu đề [] ngay lập tức, nhưng được cho là linh hoạt hơn

Đảm bảo trang web của bạn có thể xử lý mọi thứ – từ lưu lượng truy cập cao đến thời gian tải nhanh, v.v. Mua dịch vụ lưu trữ web

Một Lời Cuối Cùng

Mặc dù làm theo các bước trên có nghĩa là chuyển hướng PHP của bạn thực thi an toàn, nhưng nếu bạn đang ở vị trí sử dụng nhiều chuyển hướng PHP, có lẽ đã đến lúc bạn nên suy nghĩ lại về cấu trúc trang web của mình

Có một vài lý do chính đáng để làm điều đó. Đầu tiên là không phải tất cả các máy chủ web đều được tạo ra như nhau và nếu bạn đang gửi tất cả khách truy cập của mình trên một tuyến đường vòng quanh trang web của mình, điều này sẽ ảnh hưởng đến hiệu suất của nó. Điều này có thể được cải thiện ở một mức độ nào đó bằng cách sử dụng một nhà cung cấp dịch vụ lưu trữ web giá cả phải chăng, nhưng chỉ ở một mức độ nhất định

Lý do thứ hai là trang bạn đang chuyển hướng có thể đang thu thập dữ liệu về khách truy cập mà bạn không biết, đặc biệt nếu bạn đang sử dụng phần mềm phân tích trang web để theo dõi hiệu suất trang web của mình. Trong thế giới hậu GDPR của chúng ta, điều đó có thể gây ra những hậu quả đáng kể

Vì vậy, tóm lại. hãy cẩn thận với các chuyển hướng PHP, sử dụng chúng đúng cách và chỉ sử dụng chúng ở đâu và khi nào bạn thực sự phải làm

Tác giả

Dominyka tôi

Dominykas bắt đầu với tư cách là Chuyên gia tiếp thị và hiện đang làm việc với tư cách là Biên tập viên nội dung và Trưởng nhóm. Khi không đảm bảo chất lượng bài viết, anh ấy thích vừa đọc vừa viết tiểu thuyết

Thêm từ Dominykas I

Đồng tác giả

Ignas T

Ignas là một phần của đội ngũ Kỹ thuật của Hostinger. Anh ấy đảm nhận việc quản trị và giám sát máy chủ, đặc biệt tập trung vào ảo hóa phần mềm. Trong thời gian rảnh rỗi, anh ấy luôn sẵn sàng cho một chuyến phiêu lưu trượt tuyết hoặc chèo thuyền kayak hoặc một đêm trò chơi trên bàn cờ

Làm cách nào để tạo chuyển hướng trong PHP?

Chuyển hướng từ trang này sang trang khác trong PHP thường đạt được bằng hai cách sau. Sử dụng chức năng tiêu đề trong PHP. Hàm header[] là một hàm có sẵn trong PHP được sử dụng để gửi tiêu đề HTTP [Giao thức truyền siêu văn bản] thô tới máy khách

Làm cách nào để sử dụng vị trí tiêu đề trong PHP?

Về cơ bản, có hai loại cuộc gọi tiêu đề. Một là tiêu đề bắt đầu bằng chuỗi “HTTP/” được sử dụng để tìm ra mã trạng thái HTTP để gửi. Một cái khác là “Vị trí” là bắt buộc. thay thế. Nó là tùy chọn cho biết liệu tiêu đề nên thêm tiêu đề thứ hai hay thay thế tiêu đề trước đó

Làm cách nào để chuyển hướng chỉ mục PHP sang miền?

Tạo chuyển hướng đơn giản trong PHP .
Tạo một tệp có tên là chỉ mục. php. Bạn có thể thực hiện việc này bằng cách sử dụng ứng dụng khách FTP chẳng hạn như Filezilla hoặc bằng cách sử dụng SSH. .
Đảm bảo tệp nằm trong thư mục của miền. Thư mục này là thư mục được chỉ định khi thêm miền vào bảng điều khiển của bạn

Làm cách nào để sử dụng vị trí cửa sổ trong PHP?

Chuyển hướng có thể phụ thuộc vào bất kỳ điều kiện nào nếu [1 === 1] { window. địa điểm. href = 'http. //ví dụ. com'; . .
Không cần kích hoạt JavaScript
PHP cần thiết
Chuyển hướng sẽ được thực hiện đầu tiên, người dùng không bao giờ nhìn thấy những gì sau đó. header[] phải là lệnh đầu tiên trong tập lệnh php, trước khi xuất bất kỳ lệnh nào khác

Chủ Đề