Created
April 12, 2011 13:25
-
-
Save dannycroft/915492 to your computer and use it in GitHub Desktop.
FIX - Magento Enterprise 1.9.0.0 redirects to home page instead of the 404 page
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Magento Enterprise Edition | |
* | |
* NOTICE OF LICENSE | |
* | |
* This source file is subject to the Magento Enterprise Edition License | |
* that is bundled with this package in the file LICENSE_EE.txt. | |
* It is also available through the world-wide-web at this URL: | |
* http://www.magentocommerce.com/license/enterprise-edition | |
* If you did not receive a copy of the license and are unable to | |
* obtain it through the world-wide-web, please send an email | |
* to license@magentocommerce.com so we can send you a copy immediately. | |
* | |
* DISCLAIMER | |
* | |
* Do not edit or add to this file if you wish to upgrade Magento to newer | |
* versions in the future. If you wish to customize Magento for your | |
* needs please refer to http://www.magentocommerce.com for more information. | |
* | |
* @category Mage | |
* @package Mage_Core | |
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com) | |
* @license http://www.magentocommerce.com/license/enterprise-edition | |
*/ | |
class Mage_Core_Controller_Varien_Router_Default extends Mage_Core_Controller_Varien_Router_Abstract | |
{ | |
/** | |
* Modify request and set to no-route action | |
* If store is admin and specified different admin front name, | |
* change store to default (Possible when enabled Store Code in URL) | |
* | |
* @param Zend_Controller_Request_Http $request | |
* @return boolean | |
*/ | |
public function match(Zend_Controller_Request_Http $request) | |
{ | |
$noRoute = explode('/', Mage::app()->getStore()->getConfig('web/default/no_route')); | |
$moduleName = isset($noRoute[0]) ? $noRoute[0] : 'core'; | |
$controllerName = isset($noRoute[1]) ? $noRoute[1] : 'index'; | |
$actionName = isset($noRoute[2]) ? $noRoute[2] : 'index'; | |
if (Mage::app()->getStore()->isAdmin()) { | |
$adminFrontName = (string)Mage::getConfig()->getNode('admin/routers/adminhtml/args/frontName'); | |
if ($adminFrontName != $moduleName) { | |
$moduleName = 'core'; | |
$controllerName = 'index'; | |
$actionName = 'noRoute'; | |
Mage::app()->setCurrentStore(Mage::app()->getDefaultStoreView()); | |
} | |
} | |
$request->setModuleName($moduleName) | |
->setControllerName($controllerName) | |
->setActionName($actionName); | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment