Tôi hoàn toàn hiểu tại sao có ích khi chuyển hướng bộ đệm trong 99% tình huống, nhưng liệu có cách nào để vô hiệu hóa hành vi đó không?
Chà, nếu bạn đang làm điều này từ quan điểm phát triển máy chủ web, thì việc mong đợi bộ nhớ cache của trình duyệt bằng mọi giá phải thay đổi hành vi của bạn để điều chỉnh sự phát triển vô tận của bạn. Khi bạn đang gỡ lỗi chuyển hướng máy chủ web, bạn cần tập trung vào kiểm tra đầu ra tiêu đề và không phải đầu ra kết xuất trang đầy đủ mà trình duyệt cung cấp.
Vì vậy, thay vào đó, tôi khuyên bạn nên tìm hiểu cách sử dụng curl
và -I
tùy chọn từ dòng lệnh để chỉ trả về các tiêu đề rất hữu ích để gỡ lỗi chuyển hướng 301 và 302. Từ dòng lệnh. Như đã giải thích trong trang chính thức curl
, -I
tùy chọn là:
-Tôi / - đầu
(HTTP / FTP / FILE) Chỉ tìm nạp tiêu đề HTTP! Máy chủ HTTP có tính năng ĐẦU TIÊN mà lệnh này sử dụng để không nhận được gì ngoài tiêu đề của tài liệu. Khi được sử dụng trên tệp FTP hoặc FILE, curl chỉ hiển thị kích thước tệp và thời gian sửa đổi lần cuối.
Ví dụ, làm một curl -I google.com
và đầu ra sẽ giống như thế này:
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Và nếu bạn muốn theo dõi toàn bộ chuỗi chuyển hướng thông qua các tiêu đề, thì hãy thêm -L
tùy chọn (aka --location
:) vào lệnh như thế này:
curl -I -L google.com
Và đầu ra của lệnh đó theo chuỗi chuyển hướng vị trí sẽ giống như thế này:
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding
Lưu ý các phản ứng tiêu đề HTTP/1.1 301 Moved Permanently
cũng như Location: http://www.google.com/
. Nếu mục tiêu phát triển web của bạn là kiểm tra những thứ như quy tắc viết lại và chuyển hướng của Apache, thì đây curl -I
là công cụ tốt nhất để giúp bạn xem các chỉnh sửa của mình đang làm gì.
Và sau khi các tinh chỉnh đó được hoàn thiện và hoàn thiện, sau đó thực hiện lần chạy cuối cùng trong một trình duyệt thực để thấy tất cả đi vào cuộc sống.