Преглед изворни кода

Fix redirect error on the path includes multibyte

Sotaro KARASAWA пре 10 година
родитељ
комит
267c28c05e
1 измењених фајлова са 4 додато и 4 уклоњено
  1. 4 4
      lib/routes/page.js

+ 4 - 4
lib/routes/page.js

@@ -69,7 +69,7 @@ module.exports = function(crowi, app) {
     }
 
     if (pageData.redirectTo) {
-      return res.redirect(pageData.redirectTo + '?renamed=' + pageData.path);
+      return res.redirect(encodeURI(pageData.redirectTo + '?renamed=' + pageData.path));
     }
 
     Revision.findRevisionList(pageData.path, {}, function(err, tree) {
@@ -104,7 +104,7 @@ module.exports = function(crowi, app) {
 
     Page.findPage(path, req.user, req.query.revision, options, function(err, pageData) {
       if (req.query.revision && err) {
-        res.redirect(path);
+        res.redirect(encodeURI(path));
         return ;
       }
 
@@ -134,7 +134,7 @@ module.exports = function(crowi, app) {
     var grant = pageForm.grant;
 
     if (!Page.isCreatableName(path)) {
-      res.redirect(path);
+      res.redirect(encodeURI(path));
       return ;
     }
 
@@ -185,7 +185,7 @@ module.exports = function(crowi, app) {
       if (err) {
         return res.redirect('/');
       }
-      return res.redirect(d.path);
+      return res.redirect(encodeURI(d.path));
     };
 
     Page.findPageById(id, function(err, pageData) {