diff options
author | Andrey Andreev <narf@devilix.net> | 2014-01-09 18:21:26 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2014-01-09 18:21:26 +0100 |
commit | a0a73c977ce25911f56948d89de817b3ca83adcb (patch) | |
tree | bc92f331696689799c566216e594efcfeb71ced5 /system/helpers | |
parent | f74abcbed6efe1992f05430f2e4483e54fbcbf86 (diff) |
Add HTTP response code 307 support in URL helper redirect()
Diffstat (limited to 'system/helpers')
-rw-r--r-- | system/helpers/url_helper.php | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php index f819b96e9..f9650cd04 100644 --- a/system/helpers/url_helper.php +++ b/system/helpers/url_helper.php @@ -532,11 +532,16 @@ if ( ! function_exists('redirect')) } elseif ($method !== 'refresh' && (empty($code) OR ! is_numeric($code))) { - // Reference: http://en.wikipedia.org/wiki/Post/Redirect/Get - $code = (isset($_SERVER['REQUEST_METHOD'], $_SERVER['SERVER_PROTOCOL']) - && $_SERVER['REQUEST_METHOD'] === 'POST' - && $_SERVER['SERVER_PROTOCOL'] === 'HTTP/1.1') - ? 303 : 302; + if (isset($_SERVER['SERVER_PROTOCOL'], $_SERVER['REQUEST_METHOD']) && $_SERVER['SERVER_PROTOCOL'] === 'HTTP/1.1') + { + $code = ($_SERVER['REQUEST_METHOD'] !== 'GET') + ? 303 // reference: http://en.wikipedia.org/wiki/Post/Redirect/Get + : 307; + } + else + { + $code = 302; + } } switch ($method) |