2012-09-02 41 views
3

我的magento安装有一个奇怪的问题。我在安装过程中将管理员网址设置为myadmin。在我local.xml文件,该frontName的管理是这样的:成功登录后的magento 404

<admin> 
     <routers> 
      <adminhtml> 
       <args> 
        <frontName><![CDATA[myadmin]]></frontName> 
       </args> 
      </adminhtml> 
     </routers> 
    </admin> 

SUCESSFUL登录之后,它重定向到

[http://127.0.0.1/index.php/admin/myadmin /索引/ noRoute /按键/ 53c3c0bf6b77fb838f1d363c24443483 /]

,当我点击它的工作原理仪表盘链接。当我将myadmin更改为管理员时,它可以正常工作。那么是否有解决这个问题的方法?任何帮助将不胜感激。 此致敬礼。

回答

2

我有这个问题时,我曾与多店查看自定义管理路由以及

我有问题,当我去http://dev.loc/magento/myadmin/ {我有404登录后}

但是,如果我使用http://dev.loc/magento/storeview/myadmin/ {这工作正常}

调试这个后我发现,在\程序\代码\核心\法师\ Adminhtml \控制器\ action.php的

 /** 
    * Controller predispatch method 
    * 
    * @return Mage_Adminhtml_Controller_Action 
    */ 
    public function preDispatch() 
    { 
     ....... 
     if (!$_isValidFormKey || !$_isValidSecretKey) { 
      $this->setFlag('', self::FLAG_NO_DISPATCH, true); 
      $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true); 
      if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) { 
       $this->getResponse()->setBody(Mage::helper('core')->jsonEncode(array(
        'error' => true, 
        'message' => $_keyErrorMsg 
       ))); 
      } else { 
       $this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl()); 
      } 
      return $this; 
     } 

当你有成功登录该IF条件屈服假 所以这个声明,登录成功后设置重定向不运行

$this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl()); 

所以你可以扩展Mage_Adminhtml_Controller_Action

,并覆盖预调度功能或者你这个观察者adminhtml_controller_action_predispatch_start设置重定向页面

$this->_redirect(Mage::getSingleton('admin/session')->getUser()->getStartupPageUrl()); 

感谢

+0

谢谢它的工作 – user773440

0

我已经重写解决了这个问题http://dev.loc/magento/myadmin/ {} KO

http://dev.loc/magento/index.php/admin/myadmin/【OK】

对于nginx的:

rewrite ^/index.php/admin/myadmin/(.*)$ /index.php/myadmin last; 
rewrite ^/myadmin.*$ /index.php/admin/myadmin$1 permanent; 
rewrite ^/index.php/myadmin.*$ /index.php/admin/myadmin$1 permanent; 
rewrite ^/admin/myadmin.*$ /index.php/admin/myadmin$1 permanent; 
+0

你能不能解释一下? –