我目前正在尋找創建從默認 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
}
}
}
不幸的是,我仍然可以訪問管理面板路由而不會被重定向。根據我所閱讀的所有內容,這應該是可能的,但是我無法使其正常作業。
想法?
uj5u.com熱心網友回復:
這里唯一的問題是您只是將重定向中間件放在一個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.最后在config/middleware.js檔案中啟用重定向器中間件:
module.exports = {
settings: {
redirector: {
enabled: true,
},
},
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316613.html
