protected function _redirectReferer($defaultUrl = null) { if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if (isset($data['filter_param_name']) && isset($data['filter_param_value'])) { $refererUrl = $this->_getRefererUrl(); if (empty($refererUrl)) { $refererUrl = Mage::helper('adminhtml')->getUrl(); } else { // Update filter param value in referer URL, as it may contain unvalidated filters $urlParts = explode('?', $refererUrl); $paramRegex = '/' . preg_quote($data['filter_param_name'], '#') . '/.*?/'; $refererUrl = preg_replace('#' . $paramRegex . '#', '/', $urlParts[0]); $refererUrl .= (substr($refererUrl, -1) != '/' ? '/' : '') . $data['filter_param_name'] . '/' . $data['filter_param_value'] . '/'; if (count($urlParts) > 1) { $refererUrl .= '?' . $urlParts[1]; } } $this->getResponse()->setRedirect($refererUrl); return; } } parent::_redirectReferer($defaultUrl = null); }