The problem is in getting of REQUEST_URI environment variable value and checking it withSCRIPT_FILENAME and SCRIPT_NAME environment variables values.
So a cause of the problem is in adding of /index.php/ prefix to the request path and the Magento url generation has this value hardcoded for admin.
Override method called _updatePathUseRewrites in /app/code/core/Mage/Core/Mode/store.php file :
Replace this Function:
protected function _updatePathUseRewrites($url)
{
if ($this->isAdmin() || !$this->getConfig(self::XML_PATH_USE_REWRITES) || !Mage::isInstalled()) {
$url .= basename($_SERVER['SCRIPT_FILENAME']).'/'; }
return $url;
}
with
protected function _updatePathUseRewrites($url)
{
if ($this->isAdmin() || !$this->getConfig(self::XML_PATH_USE_REWRITES) || !Mage::isInstalled()) {
$url .= '/'; }
return $url;
}
This will definitely solve your Problem