Dotless File Yields 404 Error in IIS

会有一股神秘感。 提交于 2019-12-03 11:35:46

Looks like you're missing a mime type on IIS.

For IIS7 add the following to your web.config:

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

For IIS6 you can do (presuming you have administrator RDP access):

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

Where /1/ is the IIS number of the site.

Just adding (quite late, I realize) my two bits to this discussion.

I just ran into the same symptoms and the previously mentioned fix did not work for me. I did however end up finding another reason for these symptoms and a solution for this.

The 404 response in my case contained the following message in the body of the response:

/* Error Occurred. Consult log or view on local machine. */

This seems to be an indicator that the less file was indeed found and the request was being processed by dotLess (the message can be found in dotLess's source code), but a FileNotFoundException occurred during processing the request.

I tracked down the problem to an @import statement that referred to a .less file that was mysteriously not present on the IIS server, even though it was present under the development server.

It turned out that the build action for this problematic .less file was set to None, not to Content, like all the other .less files in my project.

So the next logical question was why on earth was the Build Action incorrect?

Well, I had added the file as a .css file, then decided to import it into a .less file and thus renamed it to .less (since .css is a subset of .less, but less does not import css files). I repeated the process with a new .css file and found that the problem was reproducable.

It seems that Visual Studio changes the build action from Content to None behind the scenes as an unexpected side-effect of renaming .css to .less. Thus the renamed .less file does not get published to the IIS server.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!