app.router が解析される前に URL をオーバーライドしたい。
http://example.com/# {uid}/#{trueURI}のようなパスを挿入します
http://example.com/# {trueURI}にする必要があります
次のコードを使用します。
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(cookieParser);
app.use(express.session());
app.use(function (req, res, next) {
paths = req.path.split('/');
paths.shift();
req.session.uid = paths[0];
paths.shift();
req.path = "/" + paths.join('/'); // Cannot set this
next();
});
app.use(express.static(path.join(__dirname, 'public')));
app.use(app.router);
app.use(require('stylus').middleware(__dirname + '/public'));
req.path にはゲッターしかありませんが、セッターは使用されていません。
では、express/connect フレームワークですべてのリクエストの URL を置き換えるにはどうすればよいでしょうか?
お読みいただきありがとうございます。