Owin과 Katana와 함께 놀고있어 내 공용 폴더에 정적 파일을 제공하고 싶습니다.Owin은 특정 폴더의 파일 만 처리합니다.
저는 스타일 시트와 스크립트 폴더가있는 Content 폴더가 있습니다.
내 시작 :
public void Configuration(IAppBuilder app)
{
#if DEBUG
//when things go south
app.UseErrorPage();
#endif
// Remap '/' to '.\public\'.
// Turns on static files and public files.
app.UseFileServer(new FileServerOptions()
{
RequestPath = PathString.Empty,
FileSystem = new PhysicalFileSystem(@".\public"),
});
}
그래서 로컬 호스트로 이동하는 경우 경우 : 8861는/내 공용 폴더의 index.html 파일을 이동합니다. 괜찮아. 하지만 차단할 내 localhost : 8861/Content/style.css를 탐색 할 수도 있습니다. 사용자가 필요로하는 모든 것이 공용 폴더에서 액세스 가능해야합니다. 나머지는 모두 막아야합니다.
어떻게하면됩니까?
감사합니다. 실제로이 문제를 해결했습니다. 그러나 내 공용 폴더에서 다른 파일을 제공하는 데 문제가있는 것 같습니다. 공개에는 index.html, style.css 및 script.js가 포함되어 있습니다. 색인이 제공되지만 style.css 및 script.js는 404.4를 제공합니다. 어떤 아이디어? – user1613512
이상하게도 모든 것이 내 PC에서 제대로 작동하지만 자체 호스팅 앱으로 테스트합니다. 당신은 당신의 사이트/public/style.css가 아닌 다음 urls yoursite/style.css를 사용하여이 파일들에 접근 했습니까? 이 파일들은 웹 사이트의 폴더에 있습니다. – ntl
한 가지 더 시도해 볼 수 있습니다. 다음 미들웨어를 마지막으로 등록하십시오 : app.Run (context => {return context.Response.WriteAsync ("Wildcard OWIN App");}); 대리자 내부에 중단 점을 배치하고 브라우저에서 style.css에 액세스하려고 시도합니다. 이 핸들러는 다른 미들웨어에서 처리하지 않은 모든 요청을 처리하는 와일드 카드 미들웨어입니다. 응용 프로그램이 중단 점으로 중지되면 OWIN이 요청을 처리하지만 구성이 올바르지 않습니다. 그렇지 않으면 IIS 구성에 문제가 있습니다. – ntl