参照を提供してくれたムファダルに感謝します。これを修正する簡単な方法が 2 つあります。
方法 1:-
このヘルパー app\code\core\Mage\Core\Helper\Abstract.php をオーバーライド/書き換えることができます
以下の機能を変更すると:
public function escapeUrl($data)
{
return htmlspecialchars($data);
}
に
public function escapeUrl($data)
{
return $data;
}
方法 2 (最良の方法) :
コントローラーの書き換え/オーバーライド /app/code/core/Mage/Core/Controller/Varien/Action.php
以下の変更された方法で:
protected function _getRefererUrl()
{
$refererUrl = $this->getRequest()->getServer(’HTTP_REFERER’);
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_REFERER_URL)) {
$refererUrl = $url;
}
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_BASE64_URL)) {
$refererUrl = Mage::helper(’core’)->urlDecode($url);
}
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_URL_ENCODED)) {
$refererUrl = Mage::helper(’core’)->urlDecode($url);
}
$refererUrl = Mage::helper(’core’)->escapeUrl($refererUrl);
if (!$this->_isUrlInternal($refererUrl)) {
$refererUrl = Mage::app()->getStore()->getBaseUrl();
}
return $refererUrl;
}
に
protected function _getRefererUrl()
{
$refererUrl = $this->getRequest()->getServer(’HTTP_REFERER’);
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_REFERER_URL)) {
$refererUrl = $url;
}
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_BASE64_URL)) {
$refererUrl = Mage::helper(’core’)->urlDecode($url);
}
if ($url = $this->getRequest()->getParam(self::PARAM_NAME_URL_ENCODED)) {
$refererUrl = Mage::helper(’core’)->urlDecode($url);
}
//$refererUrl = Mage::helper(’core’)->escapeUrl($refererUrl);
if (!$this->_isUrlInternal($refererUrl)) {
$refererUrl = Mage::app()->getStore()->getBaseUrl();
}
return $refererUrl;
}