2012-09-02 40 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

你能不能解釋一下? –