Merged revisions 53066 via svnmerge from

http://svn.silverstripe.com/open/modules/sapphire/branches/2.2.2

........
  r53066 | sminnee | 2008-04-21 10:14:48 +1200 (Mon, 21 Apr 2008) | 2 lines
  
  Make double-redirects a warning rather than an error, since they are usually benign.
  Don't redirect from /home to / if you've already called a redirection.
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@53521 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2008-04-26 06:53:13 +00:00
parent 8a5b360abd
commit 1bc00f4b2d
2 changed files with 5 additions and 2 deletions

View File

@ -83,7 +83,9 @@ class ContentController extends Controller {
parent::init(); parent::init();
// If we've accessed the homepage as /home/, then we should redirect to /. // If we've accessed the homepage as /home/, then we should redirect to /.
if($this->dataRecord && $this->dataRecord instanceof SiteTree && RootURLController::should_be_on_root($this->dataRecord) && !$this->urlParams['Action'] && !$_POST && !$_FILES) { if($this->dataRecord && $this->dataRecord instanceof SiteTree
&& RootURLController::should_be_on_root($this->dataRecord) && !$this->urlParams['Action']
&& !$_POST && !$_FILES && !Director::redirected_to() ) {
$getVars = $_GET; $getVars = $_GET;
unset($getVars['url']); unset($getVars['url']);
if($getVars) $url = "?" . http_build_query($getVars); if($getVars) $url = "?" . http_build_query($getVars);

View File

@ -511,7 +511,8 @@ class Controller extends ViewableData {
*/ */
function redirect($url, $code=302) { function redirect($url, $code=302) {
if($this->response->getHeader('Location')) { if($this->response->getHeader('Location')) {
user_error("Already directed to " . $this->response->getHeader('Location') . "; now trying to direct to $url", E_USER_ERROR); user_error("Already directed to " . $this->response->getHeader('Location') . "; now trying to direct to $url", E_USER_WARNING);
return;
} }
// Attach site-root to relative links, if they have a slash in them // Attach site-root to relative links, if they have a slash in them