You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Rider+Cyberduck发布.NET Core网站后显示文件目录问题

解决.NET Core网站发布后显示文件列表的问题

可能原因及修复步骤

1. 确认文件上传到正确的网站根目录

  • 虚拟主机通常要求网站文件上传到根目录(如public_html、wwwroot或主机商指定的专属网站文件夹),而非子目录。检查Cyberduck中传输的文件是否放置在主机要求的根目录下,避免因文件存放在子文件夹导致主机无法识别网站入口。

2. 验证虚拟主机的.NET Core支持状态

  • 联系主机服务商确认你的套餐支持.NET Core运行环境,且已在主机控制面板(如cPanel、Plesk)中启用对应版本的.NET Core运行时。
  • 部分主机需手动将网站应用程序池设置为.NET Core专用,或在控制面板中指定.NET Core应用的启动命令。

3. 配置默认文档优先级

  • 确保网站根目录包含正确的默认入口文件(如index.html、default.cshtml,或对应.NET Core项目的启动页)。
  • 在主机控制面板的网站设置中,将.NET Core项目的启动页面(如Home/Index对应的入口)添加到默认文档列表的最顶端,让主机优先加载该页面而非显示目录列表。

4. 禁用目录浏览功能

  • 登录主机控制面板,找到网站的“目录浏览”设置选项并禁用该功能。禁用后,当主机未找到默认文档时,会返回403错误或引导至正确的网站入口,而非展示文件列表。

5. 检查发布包完整性

  • 确认发布的文件包含完整的.NET Core部署文件:web.config(Windows主机)、项目程序集.dll、appsettings.json等。若为自部署模式,需确保主机已安装对应版本的.NET Core Runtime。
  • 本地测试发布包:运行dotnet YourProject.dll替换为实际项目程序集名称,确认网站能正常启动,排除发布包本身的问题。

6. 核对web.config配置(Windows主机)

  • 确保web.config中的aspNetCore节点配置正确,指向项目的启动程序集:
<aspNetCore processPath="dotnet" arguments=".\YourProject.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

内容的提问来源于stack exchange,提问作者danlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:05:14