Asp.Net Core 2.0 Web 应用程序静态文件给出 404
Asp.Net Core 2.0 Web Application Static Files Gives 404
我尝试从我的网络服务器(asp.net 核心 2.0)获取自定义扩展静态文件。
我尝试 运行 接下来:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddDirectoryBrowser(); // just to see that I have this files
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseDirectoryBrowser();
}
}
所以,我可以在文件夹中看到我的文件,但我无法获取它 - 它抛出 404:
当我点击它时:没有任何反应,我得到了 404。
为 Evk 更新:
我将 static_json.json 文件添加到 src 文件夹中的静态文件,它按预期方式获取:
提前感谢您的帮助!
我不确定,但看起来您的扩展被 IIS 设置拒绝作为静态资源直接访问。请为 web.config:
试试这个
<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".appinstaller" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>
同时检查请求过滤。查看更多信息:
How to deny access to a specific file name extension
我在开发过程中遇到了问题。
我使用 UseStaticFiles 的重载方法将选项 ServeUnknownFileTypes 设置为 true。
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
app.UseDeveloperExceptionPage()
.UseSession()
.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
})
.UseDirectoryBrowser()
.UseRequestLocalization()
.UseMvcWithDefaultRoute();
}
这个答案可能来晚了,但就我而言,解决方案在我的 IIS 设置中。
JavaScript 在请求过滤的允许列中将文件扩展名 (.js) 设置为 False。
从请求过滤中删除 js 文件为我解决了这个问题。
我尝试从我的网络服务器(asp.net 核心 2.0)获取自定义扩展静态文件。
我尝试 运行 接下来:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddDirectoryBrowser(); // just to see that I have this files
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseDirectoryBrowser();
}
}
所以,我可以在文件夹中看到我的文件,但我无法获取它 - 它抛出 404:
当我点击它时:没有任何反应,我得到了 404。
为 Evk 更新:
我将 static_json.json 文件添加到 src 文件夹中的静态文件,它按预期方式获取:
提前感谢您的帮助!
我不确定,但看起来您的扩展被 IIS 设置拒绝作为静态资源直接访问。请为 web.config:
试试这个<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".appinstaller" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>
同时检查请求过滤。查看更多信息: How to deny access to a specific file name extension
我在开发过程中遇到了问题。 我使用 UseStaticFiles 的重载方法将选项 ServeUnknownFileTypes 设置为 true。
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
app.UseDeveloperExceptionPage()
.UseSession()
.UseStaticFiles(new StaticFileOptions
{
ServeUnknownFileTypes = true,
})
.UseDirectoryBrowser()
.UseRequestLocalization()
.UseMvcWithDefaultRoute();
}
这个答案可能来晚了,但就我而言,解决方案在我的 IIS 设置中。 JavaScript 在请求过滤的允许列中将文件扩展名 (.js) 设置为 False。 从请求过滤中删除 js 文件为我解决了这个问题。