From 6ce88da3baa4bc9e6b8dc3254180ed995766c7ec Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 10 Mar 2023 17:34:47 +0800 Subject: [PATCH] fix: fix rewrites with non ascii chars close #2017 --- src/node/plugins/rewritesPlugin.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/node/plugins/rewritesPlugin.ts b/src/node/plugins/rewritesPlugin.ts index 6cdbe37c..577964af 100644 --- a/src/node/plugins/rewritesPlugin.ts +++ b/src/node/plugins/rewritesPlugin.ts @@ -40,11 +40,15 @@ export const rewritesPlugin = (config: SiteConfig): Plugin => { // dev rewrite server.middlewares.use((req, _res, next) => { if (req.url) { - const page = req.url + const page = decodeURI(req.url) .replace(/[?#].*$/, '') .slice(config.site.base.length) + if (config.rewrites.inv[page]) { - req.url = req.url.replace(page, config.rewrites.inv[page]!) + req.url = req.url.replace( + encodeURI(page), + encodeURI(config.rewrites.inv[page]!) + ) } } next()