Vì vậy, tôi đang chơi xung quanh với Owin và Katana và tôi muốn để phục vụ các tập tin tĩnh trong thư mục công cộng của tôi.Owin chỉ phục vụ tập tin trong thư mục nhất định
Tôi có một thư mục Tự tin với stylesheets và một thư mục script.
Startup của tôi:
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"),
});
}
Vì vậy, nếu nếu tôi duyệt đến localhost: 8861/Tôi đi theo file index.html trong thư mục công cộng của tôi. Vậy là được rồi. Nhưng tôi cũng có thể duyệt đến localhost của tôi: 8861/Content/style.css mà tôi muốn chặn. Mọi thứ mà người dùng cần có thể truy cập được trong thư mục công cộng. Tất cả các phần còn lại sẽ bị chặn.
Tôi làm cách nào để đạt được điều này?
Cảm ơn điều này giải quyết vấn đề thực sự. Tuy nhiên, có vẻ như có vấn đề với việc phân phát các tệp khác trong thư mục công khai của tôi. Vì vậy, công khai có chứa một index.html, style.css và script.js. Chỉ mục được phân phối nhưng style.css và script.js đưa ra 404.4. Bất kỳ ý tưởng? – user1613512
Lạ, mọi thứ hoạt động tốt trên PC của tôi, nhưng tôi thử nghiệm bằng ứng dụng tự lưu trữ. Bạn có chắc chắn rằng bạn truy cập các tệp này với các url tiếp theo yoursite/style.css chứ không phải yoursite/public/style.css? Những tệp này tồn tại trong thư mục của trang web, phải không? – ntl
Một điều nữa mà bạn có thể thử. Đăng ký phần mềm trung gian tiếp theo như phần cuối cùng trong cấu hình của bạn: app.Run (context => {return context.Response.WriteAsync ("Wildcard OWIN App");}); đặt breakpoint bên trong đại biểu và cố gắng truy cập style.css từ trình duyệt. Trình xử lý này là phần mềm trung gian ký tự đại diện xử lý tất cả các yêu cầu không được xử lý bởi các phần mềm trung gian khác. Nếu ứng dụng của bạn sẽ bị dừng với điểm ngắt, OWIN xử lý yêu cầu nhưng cấu hình không đúng, nếu không có sự cố với cấu hình IIS. – ntl