cshtml 页面不仅仅在子域的子目录中工作。我们有一个主域,其中 cshtml 在“X”子目录文件夹中工作,但我们有一个子域,其中根目录是主域的子目录,而 cshtml 在那里不起作用。在 IIS 上,主域和子域都有自己的应用程序池。主域的“X”子目录已转换为应用程序,并且 cshtml 页面正在运行。我们尝试完成相同的过程,但出现以下错误:
不提供此类页面。说明:您请求的页面类型未提供服务,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的 URL 并确保其拼写正确。
请求的 URL:/test/test.cshtml
这是一个简单的测试文件,它适用于主域子目录,但不适用于子域子目录。我认为阻止的是父域,“它已被明确禁止。”
在处理程序映射上,扩展是活动的。(Windows Server 2012 R2、IIS 8.5)
服务器安装了 .NET Framework 4。此外,该应用程序在配置为使用该版本的 .NET Framework 的应用程序池中运行。
/home/main_domain/X_subdirectory(适用于cshtml)
/home/main_domain/sub_domain/subdirectory(不工作cshtml)
你有什么想法 ?
以下代码给了我一个内部错误:
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".cshtml" />
<add fileExtension=".cshtml" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
将此添加到我的 web.config 也不起作用。
<configuration>
<appSettings>
<add key="webpages:Enabled" value="true" />
</appSettings>
</configuration>
它工作的子目录被配置为 Web 应用程序:
在 IIS 管理器上(Win + R 并复制 %systemroot%\system32\inetsrv\iis.msc)
在左侧树中的目录 (\Sites\Main_domain\sub_directory
列表项右键单击它,我选择“转换为应用程序”