【问题标题】:Dotless File Yields 404 Error in IIS无点文件在 IIS 中产生 404 错误
【发布时间】:2011-08-26 21:04:07
【问题描述】:

我已经在我的开发 Cassini 服务器(使用 dotless)中成功使用了 .less 文件几个星期,但是当我发布到本地 IIS 服务器时,它们会产生 404 错误。将我的调试器附加到 IIS 不会产生异常。我也重新启动了我的 IIS 应用程序池和服务器。

有什么想法吗?

【问题讨论】:

    标签: iis dotless


    【解决方案1】:

    看起来您在 IIS 上缺少 mime 类型。

    对于 IIS7,将以下内容添加到您的 web.config

    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".less" mimeType="text/css" />
        </staticContent>
    </system.webServer>
    

    对于 IIS6,您可以这样做(假设您具有管理员 RDP 访问权限):

    cscript adsutil.vbs set W3SVC/1/Root/MimeMap ".less, text/css"
    

    /1/ 是站点的 IIS 编号。

    【讨论】:

    • 你成功了,谢谢伙计! Stackoverflow 又来救援了。
    • 非常喜欢。我喜欢即时解决方案。
    • 对于 IIS6 我必须使用 cscript c:/Inetpub/AdminScripts/adsutil.vbs set W3SVC/1/Root/MimeMap ".less, text/css"
    • 我只是没有得到这个修复的结果。它快把我逼疯了。一切都适用于 cassini,但是当我发布到 IIS 7 时它不起作用。
    • @nlinus - 您也可以考虑使用 appcmd 设置 mimetype - technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx - 我同时使用了 web.config webServer 节点添加和 appcmd。
    【解决方案2】:

    只是在这个讨论中添加(我意识到很晚了)我的两点。

    我刚刚遇到了同样的症状,前面提到的修复方法对我不起作用。我确实但是最终找到了这些症状的另一个原因和解决方案。

    在我的案例中,404 响应在响应正文中包含以下消息:

    /* 发生错误。在本地机器上查阅日志或查看。 */

    这似乎表明确实找到了less文件并且dotLess正在处理请求(该消息可以在dotLess的源代码中找到),但是在处理请求期间发生了FileNotFoundException。

    我将问题追溯到一个 @import 语句,该语句引用了一个 .less 文件,该文件神秘地不存在于 IIS 服务器上,即使它存在于开发服务器下。

    事实证明,这个有问题的 .less 文件的构建操作设置为 None,而不是 Content,就像我项目中的所有其他 .less 文件一样。

    那么下一个合乎逻辑的问题是为什么 Build Action 不正确?

    好吧,我已将文件添加为 .css 文件,然后决定将其导入 .less 文件,因此将其重命名为 .less(因为 .css 是 .less 的子集,但 less 不导入 css文件)。我用一个新的 .css 文件重复了这个过程,发现问题是可以重现的。

    似乎 Visual Studio 在后台将构建操作从 Content 更改为 None,这是将 .css 重命名为 .less 的意外副作用。因此重命名的 .less 文件不会发布到 IIS 服务器。

    【讨论】:

    • 感谢 +1,在将某些框架转换为 .less 时遇到了同样的问题,直到我从 VS 发布中删除所有文件之前,我都无法弄清楚为什么它会产生 404。
    • 是的,我也遇到了。忘记向 SVN 添加一个新的 .less 文件,该文件应该是 @import-ed
    • 哇,我花了太长时间才弄明白。我的主要样式表没有被编译到我的 less 版本中,我不知道为什么。谢谢。
    猜你喜欢
    • 2014-12-21
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    相关资源
    最近更新 更多