redirect - 将 Strapi 管理员索引重定向到管理员登录
问题描述
我目前正在寻找方法来创建从默认 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
}
}
}
不幸的是,我仍然可以在没有被重定向的情况下点击管理面板路由。根据我所阅读的所有内容,这应该是可能的,但是我无法使其正常工作。
想法?
解决方案
这里唯一的问题是您只是将重定向中间件放在一个admin
绝对不需要的文件夹中。该middlewares
文件夹应直接位于项目的根目录。
更正路径:
./admin/middlewares/redirect/index.js
对此:
./middlewares/redirect/index.js
我可以向您展示我个人尝试过的内容,如下所示:
我的实现:
1.在你的项目根目录下创建一个目录
$ mkdir -p ./middlewares/redirector/
2.在其中创建一个index.js
文件,./middlewares/redirector/
内容为:
module.exports = () => {
return {
initialize() {
strapi.router.get('/', (ctx) => {
ctx.redirect(strapi.config.get('server.admin.url', '/admin'));
});
},
};
};
3.最后在文件中启用redirector中间件config/middleware.js
:
module.exports = {
settings: {
redirector: {
enabled: true,
},
},
};
推荐阅读
- c# - UWP 根据类按钮扩展中的 ButtonType 属性更改按钮样式的最佳方法是什么?
- html - 粘性 div 永久保留在顶角
- c++ - 如何从 sfml 窗口复制文本?
- .net-core - 如何解决我的 API 项目中的错误?
- python - 列表中每个元素的总和
- docker - 在 Windows 的 docker 上获取客户端源 IP
- python-3.x - 如何在tableau中的相同数据中显示不同的颜色?
- java - 为什么 ANSI 颜色转义码不起作用
- android - Android:默认禁用 MediaRouteButton
- python - 管理员中的 Django 按钮