The header function sends some header information in php. If we can directly use it for 301 redirection, I will summarize the usage of the header function and some common solutions.
Send an original HTTP Header [Http Header] to the client. The header is the string sent by the server before the server passes HTML data to the browser using HTTP co-definition. A blank line is required between the header and the HTML file.
Example 1
The Code is as follows: |
Copy code |
Header ("Location: http://www.bkjia.com ";); Exit; // after each redirection, you must add "exit" to avoid errors and continue execution. ?> |
Disable page caching in IE
The Code is as follows: |
Copy code |
Header ('expires: Mon, 26 Jul 1997 05:00:00 gmt '); Header ('Last-Modified: '. gmdate ('d, d m y h: I: s'). 'gmt '); Header ('cache-Control: no-store, no-Cache, must-revalidate '); Header ('cache-Control: post-check = 0, pre-check = 0', false ); Header ('pragma: no-cache'); // compatible with http1.0 and https ?> CacheControl = no-cache Pragma = no-cache Expires =-1 |
Implement File Download
The Code is as follows: |
Copy code |
Header ('content-Type: application/octet-stream'); // you can specify the Content Type. Header ('content-Disposition: attachment; filename = "example.zip" '); // sets the MIME user to be downloaded as an attachment. If you change attachment to inline, it means it is opened online. Header ('content-Transfer-Encoding: binary '); // you can specify the transmission mode. Header ('content-Length: '.filesize('example.zip '); // you can specify the Content Length. // Load the file to send: Readfile('example.zip '); // read the file to be downloaded |
Php function header () can send the Status header to the browser,
For example
The Code is as follows: |
Copy code |
Header ("Status: 404 Not Found "). |
However, I found that the actual response returned by the browser is:
The Code is as follows: |
Copy code |
// OK Header ('HTTP/1.1 200 OK '); // Set a 404 header: Header ('HTTP/1.1 404 Not Found '); // Set the address to be permanently redirected Header ('HTTP/1.1 301 Moved Permanently '); HTTP/1.x 200 OK Date: Thu, 03 Aug 2006 07:49:11 GMT Server: Apache/2.0.55 (Win32) PHP/5.0.5 X-Powered-By: PHP/5.0.5 Status: 404 Not Found Content-Length: 0 Keep-Alive: timeout = 15, max = 98 Connection: Keep-Alive Content-Type: text/html
|
Note:
• There must be no space between Location and ":"; otherwise, an error will occur (Note: I just tested it. In my local environment, there is no page Jump, but no error is reported, I don't know why );
• There cannot be any output before using the header (Note: As we all know, if there is any output before the header, including blank, the error "header already sent by xxx" will appear );
• The content after the header will be executed;