Index: /branches/feature-module-update/test/class/page/LC_Page_Test.php
===================================================================
--- /branches/feature-module-update/test/class/page/LC_Page_Test.php	(revision 15118)
+++ /branches/feature-module-update/test/class/page/LC_Page_Test.php	(revision 15213)
@@ -126,4 +126,18 @@
      * LC_Page::getLocation() のテストケース.
      *
+     * 絶対パス
+     */
+    function testGetLocationWithFullPath() {
+        $objPage = new LC_Page();
+        $_SERVER['DOCUMENT_ROOT'] = realpath("../html");
+        $url = $objPage->getLocation("/abouts/index.php");
+
+        $this->assertEquals(SITE_URL . "abouts/index.php", $url);
+        unset($_SERVER['DOCUMENT_ROOT']);
+    }
+
+    /**
+     * LC_Page::getLocation() のテストケース.
+     *
      * QueryString 付与
      */
Index: /branches/feature-module-update/data/class/pages/LC_Page.php
===================================================================
--- /branches/feature-module-update/data/class/pages/LC_Page.php	(revision 15210)
+++ /branches/feature-module-update/data/class/pages/LC_Page.php	(revision 15213)
@@ -194,9 +194,17 @@
             }
         }
+
+        // $path が / で始まっている場合
+        if (substr($path, 0, 1) == "/") {
+            $realPath = realpath(HTML_PATH . substr_replace($path, "", 0, 1));
+        } else {
+            // 相対パスの場合
+            $realPath = realpath($path);
+        }
+
         // DocumentRoot を削除した文字列を取得.
-        $root = str_replace($documentRoot, "", realpath($path));
+        $root = str_replace($documentRoot, "", $realPath);
         // 先頭の / を削除
         $root = substr_replace($root, "", 0, 1);
-
         if ($useSSL) {
             $url = SSL_URL . $root;
