[英]magento 404 after successful login
我的magento安裝有一個奇怪的問題。 我在安裝過程中將admin url設置為myadmin。 在我的local.xml文件中,admin的frontName是這樣的:
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[myadmin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
成功登錄后,它會重定向到
[http://127.0.0.1/index.php/admin/myadmin/index/noRoute/key/53c3c0bf6b77fb838f1d363c24443483/]
當我點擊儀表板鏈接時,它工作。 當我將myadmin更改為admin時,它可以工作。 那么這個問題有什么解決方案嗎? 任何幫助將不勝感激。 問候。
當我有自定義管理路由與多商店視圖時,我有這個問題
當我去http://dev.loc/magento/myadmin/ {我登錄后有404時}我遇到了問題
但如果我使用http://dev.loc/magento/storeview/myadmin/ {這工作正常}
調試后我發現在\\ app \\ code \\ core \\ Mage \\ Adminhtml \\ Controller \\ 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條件將產生false,因此在成功登錄后設置重定向的此語句不會運行
$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() );
謝謝
我通過重寫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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.