Index: branches/version-2_5-dev/data/class/SC_Display.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_Display.php	(revision 19832)
+++ branches/version-2_5-dev/data/class/SC_Display.php	(revision 19908)
@@ -73,13 +73,4 @@
         $this->assignobj($page);
         $this->response->setResposeBody($this->view->getResponse($page->getTemplate()));
-    }
-
-    /**
-     * リダイレクトを行う.
-     *
-     * SC_Response::sendRedirect() のラッパーです.
-     */
-    function redirect($location){
-        $this->response->sendRedirect($location, array(), true);
     }
 
Index: branches/version-2_5-dev/data/class/SC_Response.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_Response.php	(revision 19834)
+++ branches/version-2_5-dev/data/class/SC_Response.php	(revision 19908)
@@ -132,5 +132,7 @@
 
     /**
-     * @param string $location 「url-path」「現在のURLからのパス」「URL」のいずれか
+     * アプリケーション内でリダイレクトする
+     *
+     * @param string $location 「url-path」「現在のURLからのパス」「URL」のいずれか。「../」の解釈は行なわない。
      * @return void
      * @static
@@ -171,31 +173,34 @@
         }
 
-        // アプリケーション内での遷移時の処理
         $pattern = '/^(' . preg_quote(HTTP_URL, '/') . '|' . preg_quote(HTTPS_URL, '/') . ')/';
-        if (preg_match($pattern, $url)) {
-            $netUrl = new Net_URL($url);
-            $arrQueryString = array_merge($netUrl->querystring, $arrQueryString);
-            $netUrl->querystring = array();
-
-            if ($inheritQueryString) {
-                if (!empty($_SERVER['QUERY_STRING'])) {
-                    $netUrl->addRawQueryString($_SERVER['QUERY_STRING']);
-                }
+
+        // アプリケーション外へのリダイレクトは扱わない
+        if (preg_match($pattern, $url) === 0) {
+            SC_Utils_Ex::sfDispException();
+        }
+
+        $netUrl = new Net_URL($url);
+        $arrQueryString = array_merge($netUrl->querystring, $arrQueryString);
+        $netUrl->querystring = array();
+
+        if ($inheritQueryString) {
+            if (!empty($_SERVER['QUERY_STRING'])) {
+                $netUrl->addRawQueryString($_SERVER['QUERY_STRING']);
             }
-
-            foreach ($arrQueryString as $key => $val) {
-                $netUrl->addQueryString($key, $val);
-            }
-
-            $url = $netUrl->getURL();
-
-            $session = SC_SessionFactory::getInstance();
-            if (SC_MobileUserAgent::isMobile() || $session->useCookie() == false) {
-                $netUrl->addQueryString(session_name(), session_id());
-            }
-
-            $netUrl->addQueryString(TRANSACTION_ID_NAME, SC_Helper_Session_Ex::getToken());
-            $url = $netUrl->getURL();
-        }
+        }
+
+        foreach ($arrQueryString as $key => $val) {
+            $netUrl->addQueryString($key, $val);
+        }
+
+        $url = $netUrl->getURL();
+
+        $session = SC_SessionFactory::getInstance();
+        if (SC_MobileUserAgent::isMobile() || $session->useCookie() == false) {
+            $netUrl->addQueryString(session_name(), session_id());
+        }
+
+        $netUrl->addQueryString(TRANSACTION_ID_NAME, SC_Helper_Session_Ex::getToken());
+        $url = $netUrl->getURL();
 
         header("Location: $url");
@@ -206,10 +211,10 @@
      * HTML_PATH からのパスを指定してリダイレクトする
      *
-     * @param string $location /html/ からの相対パス
+     * @param string $location /html/ からの相対パス。先頭に / を含むかは任意。「../」の解釈は行なわない。
      * @return void
      * @static
      */
     function sendRedirectFromUrlPath($location, $arrQueryString = array(), $inheritQueryString = false, $useSsl = null) {
-        $location = URL_PATH . $location;
+        $location = URL_PATH . ltrim($location, '/');
         SC_Response_Ex::sendRedirect($location, $arrQueryString, $inheritQueryString, $useSsl);
     }
Index: branches/version-2_5-dev/data/class/pages/LC_Page.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/LC_Page.php	(revision 19817)
+++ branches/version-2_5-dev/data/class/pages/LC_Page.php	(revision 19908)
@@ -196,5 +196,5 @@
      */
     function sendRedirect($url, $isMobile = false) {
-echo "SC_Response.php::sendRedirect()に移行してね。";
+echo 'SC_Response_Ex::sendRedirect()に移行してね。';
 exit;
 
@@ -383,5 +383,5 @@
      */
     function reload($queryString = array(), $removeQueryString = false) {
-echo "SC_Display.php::reload()に移行してね。";
+echo 'SC_Response_Ex::reload()に移行してね。';
 exit;
 
Index: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Favorite.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Favorite.php	(revision 19807)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Favorite.php	(revision 19908)
@@ -214,5 +214,5 @@
                     if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {
                         if (!$objCustomer->hasValue('email_mobile')) {
-                            $this->objDisplay->redirect($this->getLocation("../entry/email_mobile.php"));
+                            SC_Response_Ex::sendRedirectFromUrlPath('entry/email_mobile.php');
                         }
                     }
Index: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage.php	(revision 19881)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage.php	(revision 19908)
@@ -176,5 +176,5 @@
                     if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {
                         if (!$objCustomer->hasValue('email_mobile')) {
-                            $this->objDisplay->redirect($this->getLocation("../entry/email_mobile.php"));
+                            SC_Response_Ex::sendRedirectFromUrlPath('entry/email_mobile.php');
                             exit;
                         }
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 19907)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 19908)
@@ -153,5 +153,5 @@
                         SC_Response_Ex::sendRedirect(CART_URL_PATH);
                     } else {
-                        $this->objDisplay->redirect(SHOPPING_URL);
+                        SC_Response_Ex::sendRedirect(SHOPPING_URL);
                     }
                     exit;
Index: branches/version-2_5-dev/data/class/pages/admin/LC_Page_Admin_Logout.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/LC_Page_Admin_Logout.php	(revision 19834)
+++ branches/version-2_5-dev/data/class/pages/admin/LC_Page_Admin_Logout.php	(revision 19908)
@@ -55,5 +55,5 @@
         $objSess->logout();
 
-        SC_Response_Ex::sendRedirectFromUrlPath('/' . ADMIN_DIR . DIR_INDEX_URL);
+        SC_Response_Ex::sendRedirectFromUrlPath(ADMIN_DIR . DIR_INDEX_URL);
     }
 
Index: branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Delete.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Delete.php	(revision 19833)
+++ branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Delete.php	(revision 19908)
@@ -90,5 +90,5 @@
         $url = $this->getLocation(ADMIN_SYSTEM_URL_PATH)
              . '?pageno=' . $this->objForm->getValue('pageno');
-        $this->objDisplay->redirect($url);
+        SC_Response_Ex::sendRedirect($url);
     }
 
Index: branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php	(revision 19805)
+++ branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php	(revision 19908)
@@ -91,5 +91,5 @@
             print($objFileManager->sfReadFile(USER_REALDIR . $_GET['file']));
         } else {
-            $this->objDisplay->redirect(USER_URL . $_GET['file']);
+            SC_Response_Ex::sendRedirect(USER_URL . $_GET['file']);
             exit;
         }
Index: branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	(revision 19845)
+++ branches/version-2_5-dev/data/class/pages/cart/LC_Page_Cart.php	(revision 19908)
@@ -121,5 +121,5 @@
                 $objCartSess->saveCurrentCart($uniqid, $cartKey);
                 // 購入ページへ
-                $this->objDisplay->redirect(SHOPPING_URL);
+                SC_Response_Ex::sendRedirect(SHOPPING_URL);
                 exit;
             }
