2012-05-10 35 views
21

Đây có phải là vị trí tương đối tiêu đề html hoàn toàn tương thích với tất cả các trình duyệt ở tất cả các nền tảng không? Bất kỳ tiêu chuẩn nào?Khả năng tương thích đường dẫn tiêu đề Vị trí tiêu đề

Location: some_script.php?la=2&po=2030 

Ý tôi là, nó sẽ luôn chuyển hướng đến some_script.php tại thư mục hiện tại hay không?

+0

như đó là PHP, trình duyệt thậm chí sẽ không biết về các tiêu đề, nó chỉ chú ý đến nó đang được chuyển hướng, vì PHP được thực hiện trên máy chủ. – 11684

+3

@ 11684: Trình duyệt của khách hàng sẽ hoàn toàn nhận được tiêu đề Vị trí. Bạn nghĩ nó quyết định thay đổi vị trí của nó như thế nào? – webbiedave

+1

@ 11684 Sai của bạn. PHP được thực hiện trên máy chủ, vâng. Nhưng PHP gửi header tới trình duyệt (client) và client làm bất cứ điều gì anh ta muốn với nó. –

Trả lời

17

Các tiêu chuẩn sẽ là:

header('Location: http://www.mywebsite.com/yourpage.php?id=32', TRUE, 302); 

Nhưng để trả lời câu hỏi của bạn, vâng, nó sẽ chuyển hướng đến trang X trong thư mục hiện tại nếu bạn không đặt một dấu gạch chéo ở đầu hoặc một URL hoàn chỉnh.

Đây là ý tưởng tôi sẽ đề xuất bạn làm cho mọi trang web bạn làm. Trong tập tin chính của bạn (file php chính bạn sử dụng như cấu hình hoặc bất cứ điều gì), tạo ra một cái gì đó như thế:

define('URL', 'http://www.mywebsite.com/'); 

Vì vậy, khi bạn tạo một chuyển hướng, một liên kết hoặc bất cứ điều gì, bạn làm như sau:

header('Location: '.URL.'yourpage.php?id=32', TRUE, 302); 

EDIT: Tháng 11 năm 2017. Được chỉ định bởi @jordanbtucker bên dưới, thông số HTTP đã được cập nhật vào tháng 6 năm 2014 (bài đăng này là từ năm 2012) để cho phép các URI tương đối trong tiêu đề Vị trí.

+1

có, tôi đã sử dụng ** biến thể ** tương đối và công việc của nó cho tôi, nhưng tôi nghi ngờ rằng nó không hoạt động cho tất cả người dùng. Tôi có thể tạo thêm một phần của url để có được đường dẫn tuyệt đối, nhưng nó sẽ cho một số rắc rối khi gỡ lỗi sctipt này tại máy cục bộ, bởi vì trên some_script.php chúng ta luôn ở http://domain.com/some_script.php và nó không phải là vấn đề thêm SERVER_HOST vào url, nhưng trên tập lệnh máy cục bộ tại thư mục con ... – abrahab

+1

Ok. Sau đó, tôi đề nghị bạn hãy xem http://tools.ietf.org/html/rfc2616#section-10.3.3. Cách tốt nhất, cách tốt nhất và cách nó được cho là hoạt động là bạn cần cung cấp URL đầy đủ. –

+0

@abrahab Tôi không biết tại sao đó là vấn đề để có URL hoàn chỉnh trên thư mục con máy cục bộ? –

Các vấn đề liên quan