Папка
Strapi /public
предназначена для открытых ресурсов сервера, а не для размещения вашего клиентского приложения. И это не очень хорошая практика.
Я должен написать это, прежде чем ответить на ваш вопрос.
Вот как обслуживаются статические файлы.
https://github.com/strapi/strapi/blob/master/packages/strapi/lib/middlewares/public/index.js
Это пользовательское промежуточное ПО.
Таким образом, вы должны будете создать свое собственное промежуточное программное обеспечение, следуя этой документации.
https://strapi.io/documentation/3.x.x/advanced/middlewares.html#custom-middlewares
Итак, в ./middelwares/custom/index.js
добавьте следующий код:
const path = require('path');
module.exports = strapi => {
return {
initialize: function(cb) {
strapi.router.route({
method: 'GET',
path: '/post',
handler: [
async (ctx, next) => {
ctx.url = path.basename(`${ctx.url}/index.html`);
await next();
},
strapi.koaMiddlewares.static(strapi.config.middleware.settings.public.path || strapi.config.paths.static, {
maxage: strapi.config.middleware.settings.public.maxAge,
defer: true
})
]
});
cb();
}
};
};
Тогда вам нужно будет включить ваше промежуточное ПО.
Вам нужно будет обновить файл ./config/custom.json
следующим кодом
{
"myCustomConfiguration": "This configuration is accessible through strapi.config.myCustomConfiguration",
"custom": {
"enabled": true
}
}
Вот и все!