.net SSI命令不适用于iis中的shtml文件

.net SSI命令不适用于iis中的shtml文件,.net,iis,ssi,shtml,.net,Iis,Ssi,Shtml,下面的代码应该显示端口或服务器名称,而不是两者都显示 不管发生什么事,我总是两样都得到 <!--#if expr="${SERVER_PORT} = 80" --> <!--#echo var="SERVER_PORT"--> <!--#else --> <!--#echo var="SERVER_NAME"--> <!--#endif --> 我也曾尝试过以下方法,但也没有任何乐趣: <!--#if expr="${SERVE

下面的代码应该显示端口或服务器名称,而不是两者都显示

不管发生什么事,我总是两样都得到

<!--#if expr="${SERVER_PORT} = 80" -->
<!--#echo var="SERVER_PORT"-->
<!--#else -->
<!--#echo var="SERVER_NAME"-->
<!--#endif -->
我也曾尝试过以下方法,但也没有任何乐趣:

<!--#if expr="${SERVER_PORT} = '80'" -->
<!--#if expr="${SERVER_PORT} = /80/" -->

如何使其工作?

如果使用IIS 6,请检查是否允许服务器端包含:

启动iismmc 展开树并选择Web服务 扩展 检查服务器端是否包含 允许 如果是,请检查是否在网站属性中启用了SSI脚本映射:

启动iismmc 右键单击并单击“站点上的属性” 选择主目录选项卡 单击配置 验证extensions.shtm, shtml和.stm映射到 C:\WINDOWS\system32\inetsrv\ssinc.dll 这些动词都被设置为 和邮政。 更新:

IIS不支持if/else/endif构造或集合。IIS 6.0的服务器端包含指令记录如下:

它们的用途与IIS 5.1中使用的相同

您尝试使用的指令在Apache上是受支持的,不过您应该与hoster/admin联系以确保它们已启用。有关更多信息,请参阅:


嗨,是的,所有这些都设置好了,为了使它更复杂,某些命令正在工作,所以。。。工作正常,代理127.0.0.1,因此似乎只有某些命令不起作用。以下命令也不起作用。这导致变量“title”无法找到。感谢***我正在开发的此页面,实际上将由Apache提供服务,我推测这些命令在不从iis提供服务时会起作用?我使用5.1作为我的iis。