DNN v09.13.04无法上传.js文件的问题求助
问题背景
在DNN v09.13.04的{dnnwebsite}/admin/File-Management路径下上传.js文件时报错,已尝试以下操作但无效:
- 在
Settings > Site Setting侧边栏的Site Behaviour中,将Choose file whitelist for end users设为custom并添加js,刷新后自动恢复为default且js被移除,重启IIS无效; - 在网站根目录
web.config中添加<mimeMap fileExtension=".js" mimeType="application/javascript" />,仍无法上传。
解决步骤
检查Host级文件白名单设置
进入Host > Host Settings > Advanced Settings > File Management,找到File Extension Whitelist,确认是否包含.js。若未包含,添加后保存。Site级设置可能被Host级配置覆盖,这是导致Site设置回滚的常见原因。修复Site级设置缓存问题
在Host级设置允许.js后,回到Site Settings > Site Behaviour,重新将Choose file whitelist for end users设为custom并添加.js,保存后进入Host > Host Settings > Performance Settings清除DNN缓存,或直接重启网站应用池,避免缓存导致设置未生效。配置web.config请求过滤规则
打开网站根目录web.config,在<system.webServer>节点下添加或修改请求过滤配置,确保允许.js文件:<system.webServer> <security> <requestFiltering> <fileExtensions> <add fileExtension=".js" allowed="true" /> </fileExtensions> </requestFiltering> </security> </system.webServer>保存后重启应用池。
修改DNN扩展配置文件
打开网站根目录Config/FileExtensions.config,在<AllowedExtensions>节点中添加.js:<AllowedExtensions> <!-- 保留原有扩展名 --> <Extension>.js</Extension> </AllowedExtensions>保存后重启应用池。
验证IIS MIME类型设置
打开IIS管理器,找到对应网站,进入MIME类型,确认存在.js条目,MIME类型为application/javascript。若不存在,手动添加并保存。
内容的提问来源于stack exchange,提问作者namco

