【问题标题】:WebMatrix parse .html file as .aspWebMatrix 将 .html 文件解析为 .asp
【发布时间】:2011-08-12 20:08:55
【问题描述】:

我有一个扩展名为 .html 的文件,其中包含:

<!--#include virtual="filename"-->

指令,我正在使用 Microsoft WebMatrix。当我从 WebMatrix 运行网页时,指令不会被处理,而是指令显示在 HTML 中。如何配置 WebMatrix 以将这些页面视为 .asp 文件?

【问题讨论】:

    标签: iis webmatrix iis-express server-side-includes


    【解决方案1】:

    您需要配置 Web 服务器以将 .html 文件映射到 asp.dll。如果您想使用 IIS Express 在本地执行此操作,您可以在 &lt;handlers&gt; 部分下的 applicationhost.config 文件中添加一个新条目,如下所示:

        <add name="ASPClassicHtml" path="*.html" verb="GET,HEAD,POST" 
             modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" 
             resourceType="File" />
    

    这基本上是 ASPClassic 现有条目的副本,但指向 html 文件。您通常可以在 My Documents > IISExpress > config 中找到 applicationhost.config。

    【讨论】:

    • 我将该行添加到 applicationhost.config,但它仍然只是呈现包含指令的文件。谢谢。
    • 您是否停止了站点然后重新启动它?您可能还需要清除浏览器缓存。
    • 我认为这个新的处理程序应该放在处理程序列表中的“StaticFile”处理程序之前。
    • 我将它放在现有 ASPClassic 条目的正下方。 WOMM。不过,我确实需要清除浏览器缓存。
    • 我把它放在了处理程序部分的底部。当我将它移到 StaticFile 条目上方时,它起作用了。谢谢!
    【解决方案2】:

    要在不通过 ASP 处理器传递所有 HTML 文件的情况下启用服务器端包含,您可以将这两个“添加”元素添加到处理程序部分。确保将其添加到该部分的开头。

    <handlers accessPolicy="Read, Script">
        <add name="SSINC-htm" path="*.htm" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" />
        <add name="SSINC-html" path="*.html" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" />
        ...
        ...
        ...
    </handlers>
    

    【讨论】:

      猜你喜欢
      • 2011-09-08
      • 2013-02-03
      • 2015-10-31
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 2011-03-14
      • 2014-09-01
      相关资源
      最近更新 更多