重定向Strapi admin索引到admin login



我目前正在寻找从默认Strapi管理索引路由(即strapidomain.com)到配置的管理路由(即strapidomain.com/admin)创建永久301重定向的方法。

我已经探索了通过配置管理包来使用自定义中间件:

路径:./admin/middlewares/redirect/index.js

const path = require('path');
module.exports = strapi => {
return {
initialize: function(cb) {
strapi.router.get('/', (ctx) => {
ctx.redirect(strapi.config.get('server.admin.url', '/admin'))
});
}
};
};

然后使用:

激活自定义中间件路径:./admin/config/middleware.js

module.exports = {
settings: {
redirect: {
enabled: true
}
}
}

不幸的是,我仍然可以击中管理面板路由没有被重定向。根据我所读到的一切,这应该是可能的,但我还没有能够得到这个工作。

想法吗?

更新版本为v4+

src/中间件)/redirector.js

module.exports = (config, {strapi}) => {
return async (ctx, next) => {
if (ctx.path === '/') {
ctx.redirect(strapi.config.get('server.admin.url', '/admin'));
return
}
await next()
};
};

配置/middlewares.js

module.exports = [
{name: 'global::redirector'},
//...
]

这里唯一的问题是您刚刚将重定向中间件放在admin文件夹中,这绝对不是必需的。middlewares文件夹应该直接位于项目的根目录。

更正路径:
./admin/middlewares/redirect/index.js

:
./middlewares/redirect/index.js

我可以向你展示我个人的尝试,如下:

我的实现:

1。在项目的根目录
$ mkdir -p ./middlewares/redirector/中创建一个目录

2。./middlewares/redirector/中创建index.js文件,内容如下:

module.exports = () => {
return {
initialize() {
strapi.router.get('/', (ctx) => {
ctx.redirect(strapi.config.get('server.admin.url', '/admin'));
});
},
};
};

3。最后在config/middleware.js文件中启用重定向中间件:

module.exports = {
settings: {
redirector: {
enabled: true,
},
},
};

最新更新