将 Strapi 管理员索引重定向到管理员登录

Dou*_*cum 4 redirect routes admin strapi

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

我通过配置管理包探索了利用自定义中间件:

小路:./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'))
      });
    }
  };
};
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令激活自定义中间件:

小路:./admin/config/middleware.js

module.exports = {
  settings: {
    redirect: {
      enabled: true
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我仍然可以点击管理面板路线而不会被重定向。根据我读过的所有内容,这应该是可能的,但我还没有能够让它发挥作用。

想法?

wen*_*ner 5

对于较新版本 v4+

src/middlewares/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()
  };
};
Run Code Online (Sandbox Code Playgroud)

配置/中间件.js

module.exports = [
  {name: 'global::redirector'},
  //...
]
Run Code Online (Sandbox Code Playgroud)