Javascript 如何在nodejs中使用regex和重定向创建路由
我想知道如何使用nodejs express使用带有参数的路由和重定向url 如果url是Javascript 如何在nodejs中使用regex和重定向创建路由,javascript,node.js,regex,express,Javascript,Node.js,Regex,Express,我想知道如何使用nodejs express使用带有参数的路由和重定向url 如果url是xyz/?s=test,则重定向到indexRouter 如果url是xyz/,则edirect to indexRouter 但是正则表达式代码不起作用,被卡住了,或者其他任何替代方案 包含部分代码 //app.js var app = express(); app.use('/', indexRouter); //if the url is xyz/?s=test redirect to indexR
xyz/?s=test
,则重定向到indexRouter
如果url是xyz/
,则edirect to indexRouter
但是正则表达式代码不起作用,被卡住了,或者其他任何替代方案
包含部分代码
//app.js
var app = express();
app.use('/', indexRouter);
//if the url is xyz/?s=test redirect to indexRouter
app.get(/^\/?(.*)/, (req, res)=>{
res.redirect("/");
});
//index.js
var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
if(JSON.stringify(req.query)==='{}'){
res.redirect("en")
}
else if(Object.keys(req.query).length > 0){
res.redirect("en"+req.Url.query)
}
else{
res.redirect("zh")
}
})
}
查询字符串不被视为路由的一部分,URL的组件是 请求参数
/:某些参数/
或正则表达式可以执行/[\\w\\w]+/
//app.js
var app = express();
app.use('/', indexRouter);
//if the url is xyz/?s=test redirect to indexRouter
app.get('/:some_param/', (req, res)=>{
res.redirect('/');
});
app.get('/[\\w\\W]+/', (req, res)=>{
res.redirect('/');
});