Mới tuần trước, tôi đã hoàn thành một dự án thiết kế lại cho một khách hàng và đã đưa dự án vào hoạt động. Chiều hôm ra mắt, khách hàng gọi cho tôi
Khách hàng. Tôi vừa nhấp vào trang web của chúng tôi và nó không hoạt động.
Tôi. Có thật không? . Trang web dường như đã hoạt động tốt đối với tôi. Hãy xem liệu chúng ta có thể theo dõi vấn đề không.
Khách hàng. Tôi vừa nhấp vào trang web của chúng tôi và nó không hoạt động.
Tôi. OK, tôi nghe thấy bạn. Ý bạn là "đã nhấp vào trang web của chúng tôi"?
Khách hàng. Tôi có một nút trên máy tính để bàn mà tôi nhấp để truy cập trang web của chúng tôi và khi nhấp vào đó, tôi nhận được một trang lỗi không phải trang web của chúng tôi.
Tôi. Hmmm… Bạn có thể cho tôi biết chính xác nó nói gì trong trình duyệt web của bạn không, ở nơi chứa địa chỉ web?
Khách hàng. http. // khách hàng-trang web. com/chỉ mục. html
Tôi. á ha. Tôi hiểu rồi, dấu trang của bạn không hoạt động vì nó trỏ cụ thể đến một tệp HTML không còn tồn tại nữa, trang chủ mới được lập chỉ mục về mặt kỹ thuật. php không lập chỉ mục. html. Tuy nhiên, đừng sửa dấu trang của bạn, một số khách truy cập của bạn có thể đang gặp vấn đề tương tự, vì vậy tôi sẽ khắc phục sự cố để dấu trang của bạn hoạt động.
Khách hàng. Tôi vừa nhấp vào trang web của chúng tôi và nó không hoạt động.
Tôi. ĐƯỢC RỒI. Nghiêm túc mà nói, hít một hơi thật sâu và cho tôi 10 phút.
chỉ mục chuyển hướng. html để lập chỉ mục. php
Nếu người dùng đặt trình duyệt của họ thành mặc định để hiển thị URL đầy đủ, dấu trang của họ sẽ phản ánh URL đầy đủ này. Điều đó có nghĩa là nếu bạn thay đổi phần mở rộng tệp trên chúng, chẳng hạn như trong trường hợp chuyển từ html sang php này, nó sẽ phá vỡ dấu trang của chúng. Không tốt. May mắn thay chúng ta có thể khắc phục điều này
Mặc dù vậy, lần đầu tiên của tôi là "tệ quá, đây chưa phải là PHP", bởi vì chuyển hướng trong PHP rất dễ dàng
Đó thực sự là tất cả những gì bạn cần đưa vào tệp PHP để chuyển hướng hoạt động. Mặc dù vậy, chuyển hướng với HTML cũng dễ dàng tương tự, nhưng bạn cần tạo một tệp có cấu trúc HTML thông thường, sau đó đặt câu lệnh meta này vào đầu
“1” là viết tắt của “độ trễ một giây”, bạn có thể tạo bất kỳ số nguyên nào. Đây là một giải pháp chấp nhận được và hoạt động tốt, nhưng tôi cho rằng đó không phải là giải pháp tốt nhất. Đối với một điều, bạn cần giữ tệp HTML đó xung quanh, làm rối tung thư mục của bạn và nhìn chằm chằm vào mặt bạn mỗi khi bạn FTP vào. Có một cách tốt hơn…
htaccess Viết lại
Chỉ cần thêm quy tắc này vào. htaccess và chuyển hướng sẽ diễn ra phía máy chủ thực sự nhanh chóng và dễ dàng như
RewriteEngine on
RewriteRule index\.html index.php [NC,R]
CẬP NHẬT. từ Malcolm New - rõ ràng ở trên sẽ khớp với bất kỳ tên tệp nào như anythingindex. html và mã dưới đây ngăn chặn điều đó
RewriteRule ^index\.htm$ index.php [NC,R]
CẬP NHẬT KHÁC. từ Jessi Hance –
Tôi đã phải thêm cờ L để yêu cầu máy chủ ngừng xử lý các quy tắc viết lại. Tôi cũng thấy rằng tôi cần đặt quy tắc lên đầu. htaccess, bên trên các quy tắc do WordPress tạo
Chuyển hướng cho phép bạn chuyển hướng trình duyệt máy khách đến một URL khác. Bạn có thể sử dụng nó khi chuyển đổi tên miền, thay đổi cách cấu trúc trang web của bạn hoặc chuyển sang HTTPS
Trong bài viết này, tôi sẽ hướng dẫn bạn cách chuyển hướng đến một trang khác bằng PHP. Tôi sẽ giải thích chính xác cách hoạt động của chuyển hướng PHP và cho bạn thấy điều gì xảy ra đằng sau hậu trường
Học PHP với một khóa học trực tuyến miễn phí
Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP
Nguyên tắc cơ bản PHP
Jeremy McPeak
29 Thg 10 2021
Chuyển hướng cơ bản hoạt động như thế nào?
Trước khi chúng tôi đi sâu vào các chi tiết cụ thể của chuyển hướng PHP, hãy nhanh chóng hiểu chính xác cách hoạt động của chuyển hướng HTTP. Hãy nhìn vào sơ đồ sau
Hãy hiểu những gì đang xảy ra trong ảnh chụp màn hình ở trên
- Trình duyệt máy khách yêu cầu một trang cụ thể từ máy chủ. Trong ví dụ trên, khách hàng đã yêu cầu nội dung của chỉ mục. tập tin php
- Máy chủ nhận chỉ mục. yêu cầu tệp php và muốn thông báo cho khách hàng rằng nó không còn khả dụng hoặc đã chuyển đi nơi khác và thay vào đó, nó sẽ tìm một tệp mới. new_index. php. Máy chủ gửi tiêu đề
12 với một URL mới cùng với mã HTTP 301 hoặc 302. Đây là các mã HTTP để chuyển hướng- Khi trình duyệt máy khách gặp mã 301 hoặc 302, nó biết rằng nó phải bắt đầu một yêu cầu khác tới một URL mới để tìm nạp nội dung. Nó bắt đầu yêu cầu tìm nạp tệp
13 trong ví dụ trên- Cuối cùng, một máy chủ sẽ gửi nội dung của URL mới
Vì vậy, đó là cách hoạt động của chuyển hướng HTTP cơ bản. Trong phần tiếp theo, chúng ta sẽ thảo luận về cách hoạt động của chuyển hướng PHP
Cách chuyển hướng hoạt động trong PHP
Trong PHP, khi bạn muốn chuyển hướng người dùng từ trang này sang trang khác, bạn cần sử dụng hàm
14. Chức năng tiêu đề cho phép bạn gửi tiêu đề vị trí HTTP thô, thực hiện chuyển hướng thực tế như chúng ta đã thảo luận trong phần trướcCách sử dụng chức năng tiêu đề
Hãy xem qua cú pháp của hàm
141header[ $header, $replace, $http_response_code ]
16. Đây là chuỗi tiêu đề HTTP mà bạn muốn sử dụng. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng tiêu đề12 để chuyển hướng 18. Đó là một tham số tùy chọn cho biết liệu tiêu đề có nên thay thế tiêu đề tương tự trước đó hay không 19. Nó cho phép bạn gửi một mã phản hồi cụ thểBây giờ, hãy xem ví dụ sau để hiểu cách tất cả hoạt động cùng nhau
1_______1567890RewriteEngine on RewriteRule index\.html index.php [NC,R]
1RewriteEngine on RewriteRule index\.html index.php [NC,R]
header[ $header, $replace, $http_response_code ]0header[ $header, $replace, $http_response_code ]1Khi đoạn mã trên được thực thi, nó sẽ chuyển hướng trình duyệt máy khách tới http. //www. trang web của bạn. com/new_index. php. Ở chế độ nền, nó gửi tiêu đề HTTP
12 thô cùng với mã trạng thái 302. Mã trạng thái 302 được sử dụng để chuyển hướng tạm thời, nhưng nếu bạn muốn chuyển hướng vĩnh viễn, bạn có thể chuyển mã 301 vào đối số thứ ba, như minh họa trong đoạn mã sau1_______15____167____18header[ $header, $replace, $http_response_code ]70RewriteEngine on RewriteRule index\.html index.php [NC,R]
1RewriteEngine on RewriteRule index\.html index.php [NC,R]
header[ $header, $replace, $http_response_code ]0header[ $header, $replace, $http_response_code ]1Chuyển hướng vĩnh viễn 301 cho phép bạn thông báo cho các bot tìm kiếm rằng trang này không còn nữa và nó có thể được thay thế bằng một trang mới
Tại sao bạn nên sử dụng hàm
51 hoặc52 sau khi chuyển hướng tiêu đề?Người dùng tinh mắt sẽ nhận thấy rằng tôi đã sử dụng hàm
53 trong ví dụ trên. Trên thực tế, bạn bắt buộc phải sử dụng hàm53 hoặc hàm55 ngay sau khi chuyển hướng tiêu đề để dừng thực thi tập lệnh và tránh mọi kết quả không mong muốnVì vậy, chúng tôi luôn khuyên bạn nên sử dụng một trong các chức năng này sau khi chuyển hướng
Lỗi nổi tiếng. Tiêu đề đã được gửi
Nếu bạn là một lập trình viên PHP có kinh nghiệm, tôi chắc rằng bạn đã từng gặp phải lỗi PHP nổi tiếng này tại một số thời điểm trong quá trình phát triển PHP hàng ngày của mình. Tuy nhiên, đối với những người mới bắt đầu, gặp phải lỗi này thực sự rất khó chịu, vì nó thực sự khó gỡ lỗi và sửa chữa. Trong hầu hết các trường hợp, họ thậm chí không biết rằng nguyên nhân là do chuyển hướng tiêu đề
Nguyên tắc chung là khi bạn sử dụng hàm
14 trong tập lệnh của mình, bạn cần đảm bảo rằng bạn không gửi bất kỳ đầu ra nào trước hàm đó. Nếu không, PHP sẽ khiếu nại với lỗi "tiêu đề đã được gửi". Điều này có thể xảy ra ngay cả khi bạn đã gửi một khoảng trắng trước khi sử dụng chức năng tiêu đềPhần kết luận
Trong bài đăng này, chúng tôi đã thảo luận về một trong những tính năng quan trọng của lập trình PHP. chuyển hướng. Đầu tiên, chúng ta đã tìm hiểu những kiến thức cơ bản về chuyển hướng HTTP, sau đó tôi trình bày cách thức hoạt động của nó trong PHP
Tập lệnh PHP tốt nhất trên CodeCanyon
Khám phá hàng ngàn tập lệnh PHP tốt nhất và hữu ích nhất từng được tạo trên CodeCanyon. Với khoản thanh toán một lần với chi phí thấp, bạn có thể mua một trong những chủ đề WordPress chất lượng cao này và cải thiện trải nghiệm trang web cho bạn và khách truy cập của bạn
Làm cách nào để chuyển hướng đến một trang web 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 biểu thị chuyển hướng vô thời hạn nên trình duyệt sẽ tự động chuyển hướng người dùng bằng URL cũ sang địa chỉ trang mới.Làm cách nào để liên kết trang HTML trong mã PHP?
Đối với điều này, bạn cần làm theo các bước sau. .Bước 1. Lọc các yêu cầu về biểu mẫu HTML của bạn cho trang web liên hệ với chúng tôi. .Bước 2. Tạo cơ sở dữ liệu và bảng trong MySQL. .Bước 3. Tạo biểu mẫu HTML để kết nối với cơ sở dữ liệu. .Bước 4. Tạo một trang PHP để lưu dữ liệu từ dạng HTML vào cơ sở dữ liệu MySQL của bạn. .Bước 5. Tất cả đã được làm xongLàm cách nào để chuyển hướng vị trí trong PHP?
Chuyển hướng trong PHP có thể được thực hiện bằng hàm header[]. Để thiết lập, một chuyển hướng đơn giản chỉ cần tạo một chỉ mụcPHP có thể tương tác với HTML không?
PHP và HTML tương tác với nhau rất nhiều. PHP có thể tạo HTML và HTML có thể chuyển thông tin tới PHP. Trước khi đọc những câu hỏi thường gặp này, điều quan trọng là bạn phải học cách truy xuất các biến từ các nguồn bên ngoài.