IIS 上的 Umbraco 依赖项文件(css、javascript)在 /wwwroot 子文件夹上工作,在其他任何地方都不起作用

Umbraco dependencies files (css, javascript) on IIS working on /wwwroot subfolder, not working everywhere else

我正在尝试让 Umbraco 解决方案在我的开发机器上运行;我没有安装 Umbraco,但我将文件解压缩到本地文件夹,在那里指向一个新的 IIS 站点,并授予 NETWORK SERVICE 和 IIS_IUSRS.

权限

如果我将文件放在 /wwwroot 的子文件夹中,它工作正常,但如果我将文件移动到其他地方,所有 CSS、图像和 Javascript 文件 return 404。如果我创建一个虚拟 HTML 文件并尝试让 IIS 为它提供服务,我会得到:

Page not found
No umbraco document matches the url '/login.aspx?ReturnUrl=%2fcss%2ftest.html'.

谁能帮助我了解这两个地点之间有何不同?

如果是开发机器,虽然这不是最佳做法,但您可以只授予 Everyone 用户对该文件夹的完全控制权。这应该可以排除任何权限问题

我相信您的权限仍然存在偏差,可能不会传播到文件中。所需的权限由应用程序池的用户身份确定。默认情况下,最佳做法是 运行 它作为 'app pool identity' 所以它基本上是它自己的用户。如果您只是在寻找开发设置,您应该进入应用程序池设置并将其 运行 设置为 'System'(非常不安全),但这可以让它一步到位。

正确的方法是 运行umbraco 的权限批处理脚本。不幸的是,他们的网站似乎正在进行重组,页面已关闭,但我找到了一个 google 缓存版本:http://bit.ly/1GvPl6n

我推荐 powershell 脚本和 运行ning powershell 作为管理员。我必须将编辑后的版本(查找网站名称、文件夹路径等以根据您的设置进行自定义)复制粘贴到 powershell 中才能正常工作,但一旦完成,我就全部准备好了。

以下是有关应用程序池用户身份的更多信息:http://forums.asp.net/t/1387880.aspx?IIS+7+Application+Pool+Identity+Setting+Local+System+or+Network+Service+