var express = require('express');
var app = express();
app.get('*', function (req, res) {
var host = req.get('Host');
return res.redirect(['https://', host, req.url].join(''));
});
var server = app.listen(8080, function() {
console.log('starting');
});
をデコードするのに失敗しました。悪質なURL(例:website.com/%c0%ae%c0%ae)がある場合を除き、これは正常に動作します。エクスプレス:私はhttpをhttpsにリダイレクトする簡単なスクリプトを持っているのparam
URIError: Failed to decode param '/%c0%ae%c0%ae'
at decodeURIComponent (native)
at decode_param (/...<PROJECT DIRECTORY>.../node_modules/express/lib/router/layer.js:167:12)
at Layer.match (/.../node_modules/express/lib/router/layer.js:143:15)
at matchLayer (/.../node_modules/express/lib/router/index.js:557:18)
at next (/.../node_modules/express/lib/router/index.js:216:15)
at expressInit (/.../node_modules/express/lib/middleware/init.js:33:5)
at Layer.handle [as handle_request] (/.../node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/.../node_modules/express/lib/router/index.js:312:13)
at /.../node_modules/express/lib/router/index.js:280:7
at Function.process_params (/.../node_modules/express/lib/router/index.js:330:12)
ユーザーが自分のプロジェクトファイルがサーバー内のどこにあるかをランダムに見ることができたらうれしいことではありません。このエラーを処理する方法はありますか?
返信res.redirect( 'https://'+host+req.url); これを試してください – vkstack