我希望能够做到以下几点:
mydomain.com/this/that
应该以不同的方式重定向到:
a.sub.domain.mydomain.com/this/that
我看到Express具有以下内容:
github.com/bmullan91/express-subdomain
Koa确实有一个:
github.com/demohi/koa-subdomain
如您所见,它已经死了。无论如何要在使用Koa时实现这一目标?
最佳答案
您可以编写一个子域中间件来实现此目的。
var koa = require('koa');
var app = koa();
routeMain = function *(next) {
this.body = 'mydomain.com';
};
routeSub = function *(next) {
this.body = 'sub.mydomain.com';
};
// subdomain middleware
subdomain = function (domain,route){
return function *(next){
var s=this.subdomains[0] || '';
if (s === domain) {
yield route.call(this,next);
}
else{
yield next;
}
};
};
app.use(subdomain('sub', routeSub));
app.use(subdomain('', routeMain));
app.use(function *(next){
console.log("done");
});
app.listen(3000);