Tôi đã in $ _SERVER và tôi phát hiện ra rằng $ _SERVER['REDIRECT_URL']
và $_SERVER['REQUEST_URI']
đều có cùng giá trị. Sự khác nhau giữa hai cái là gì?
Trả lời
REQUEST_URI là đường dẫn URI được yêu cầu và truy vấn được sử dụng trong HTTP request line. REDIRECT_URL is created by Apache khi chuyển hướng nội bộ xảy ra:
REDIRECT_
biến môi trường được tạo từ biến môi trường tồn tại trước chuyển hướng. Chúng được đổi tên bằng tiền tốREDIRECT_
, tức là,HTTP_USER_AGENT
trở thànhREDIRECT_HTTP_USER_AGENT
.
REDIRECT_URL
,REDIRECT_STATUS
vàREDIRECT_QUERY_STRING
được đảm bảo được đặt và các tiêu đề khác sẽ chỉ được đặt nếu chúng tồn tại trước điều kiện lỗi.
Lưu ý rằng REDIRECT_URL chỉ chứa đường dẫn URI.
$_SERVER['REDIRECT_URL']
chỉ khả dụng trên một số máy chủ trong một số trường hợp. Sử dụng $_SERVER['REQUEST_URI']
để thay thế.
Lưu ý rằng chúng có thể có các hành vi khác nhau, vì REQUEST_URI chứa chuỗi truy vấn! (Tôi gặp sự cố với API của mình) – Miguel
REQUEST_URI cũng thay đổi ký tự đặc biệt như khoảng trống thành "% 20", v.v.
- 1. PHP: $ _SERVER biến: $ _SERVER [ 'HTTP_HOST'] vs $ _SERVER [ 'SERVER_NAME']
- 2. PHP $ _SERVER ['REMOTE_ADDR'] rỗng
- 3. PHP $ GLOBALS thiếu $ _SERVER
- 4. Sự khác nhau giữa: $ _SERVER [ 'SCRIPT_NAME'] và $ _SERVER [ 'PHP_SELF']
- 5. php REQUEST_URI
- 6. $ _SERVER ['PHP_AUTH_USER'] trống rỗng
- 7. Cron Job $ _SERVER issue
- 8. Nơi đặt PHP $ _SERVER ['DOCUMENT_ROOT'] Trailing Slash?
- 9. Đặt giá trị Php trị giá $ _SERVER ($ _SERVER ['something']) bằng cách sử dụng Apache .htaccess
- 10. Đặt giá trị Php $ _SERVER ($ _SERVER ['something']) bằng cách sử dụng Apache .htaccess
- 11. apache_request_headers() so với $ _SERVER
- 12. $ _SERVER ['_'] tương đương trên Windows
- 13. Độ tin cậy là $ _SERVER ['REQUEST_URI'] khi thu thập chuỗi truy vấn?
- 14. mã hóa của $ _SERVER vars?
- 15. JSP hoặc JavaScript tương đương với $ _SERVER ["HTTP_HOST" của PHP?
- 16. Thay thế cho $ _SERVER ['HTTP_REFERER'] Biến PHP trong MSIE
- 17. Có $ _SERVER ['HTTP_X_REQUESTED_WITH'] tồn tại trong PHP hay không?
- 18. Độ tin cậy của $ _SERVER ['REMOTE_ADDR'] của PHP $
- 19. Đặt biến $ _SERVER khi gọi PHP từ dòng lệnh?
- 20. Có thể đặt $ _SERVER ['HTTP_USER_AGENT'] không?
- 21. $ _SERVER ["SCRIPT_URI"] không hoạt động? thay thế?
- 22. Có phải $ _SERVER ['REMOTE_ADDR'] luôn luôn đặt()?
- 23. Ký hiệu IPV6 của $ _SERVER ['REMOTE_ADDR']
- 24. Có thể giả mạo $ _SERVER ['REMOTE_USER'] không?
- 25. $ _SERVER ['REMOTE_ADDR'] không cung cấp địa chỉ IP phù hợp
- 26. là cần thiết để xác thực $ _SERVER ['REMOTE_ADDR']?
- 27. $ _SESSION được tạo nhưng không có PHPSESSID trong $ _SERVER ['HTTP_COOKIE']
- 28. Có thể giả mạo/giả mạo $ _SERVER ['SERVER_NAME'] không?
- 29. Không xác định lỗi chỉ số sử dụng $ _SERVER [ 'HTTPS']
- 30. Có an toàn để tin tưởng $ _SERVER ['REMOTE_ADDR'] không?
'REDIRECT_URL' trả về url bình thường, ví dụ: '/ review', mặt khác' REQUEST_URL' trả về chuỗi truy vấn, ví dụ: '/ review? page = 4' – AlbertSamuel
tuyệt vời tôi đã bị kẹt trong thời gian dài –
@AlbertSamuel" 'REQUEST_URL'" - Điều đó phải là 'REQUEST_URI' (với' I'). – MrWhite