浏览代码

Fix Pico::getPageUrl()

With enabled URL rewriting we must call rawurlencode() on the file path parts rather the whole path
Daniel Rudolf 9 年之前
父节点
当前提交
f9e9642c22
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      lib/Pico.php

+ 7 - 1
lib/Pico.php

@@ -1187,7 +1187,13 @@ class Pico
      */
     public function getPageUrl($page)
     {
-        return $this->getBaseUrl() . ((!$this->isUrlRewritingEnabled() && !empty($page)) ? '?' : '') . rawurlencode($page);
+        if (empty($page)) {
+            return $this->getBaseUrl();
+        } elseif (!$this->isUrlRewritingEnabled()) {
+            return $this->getBaseUrl() . '?' . rawurlencode($page);
+        } else {
+            return $this->getBaseUrl() . implode('/', array_map('rawurlencode', explode('/', $page)));
+        }
     }
 
     /**