IIS拒绝访问虚拟目录中的简单HTML文件

IIS拒绝访问虚拟目录中的简单HTML文件,iis,iis-7,Iis,Iis 7,我试图在我的网站上的文件夹中显示简单的HTML文件。没有ASP.NET,没有应用程序,只有一个虚拟目录。当我试图打开网页时,浏览器中出现“访问被拒绝” 这是通过主机提供商;我只能通过FTP和IIS管理器访问 授权规则显示允许-所有用户-继承 我远非IIS专家,大多数搜索结果要么建议检查文件系统中的文件夹权限(我没有直接访问权限),要么与应用程序相关 我如何诊断这个 更多信息: 通过反复试验,我找到了原因,并通过URL重写解决了这个问题。我仍然想知道它发生的原因(根本原因)以及如何改变IIS的行

我试图在我的网站上的文件夹中显示简单的HTML文件。没有ASP.NET,没有应用程序,只有一个虚拟目录。当我试图打开网页时,浏览器中出现“访问被拒绝”

这是通过主机提供商;我只能通过FTP和IIS管理器访问

授权规则显示允许-所有用户-继承

我远非IIS专家,大多数搜索结果要么建议检查文件系统中的文件夹权限(我没有直接访问权限),要么与应用程序相关

我如何诊断这个


更多信息:


通过反复试验,我找到了原因,并通过URL重写解决了这个问题。我仍然想知道它发生的原因(根本原因)以及如何改变IIS的行为

我正在将我的站点从Linux主机转移到Windows主机。一些旧URL的格式如下:

http://www.MYSITE/myblog/index.php/2013/04/29/SOMEFILE.html
我移动的是HTML文件,不是PHP文件,但我尝试镜像文件夹结构

问题出在
index.php
文件夹名中。无论我做什么,即使我启用了目录浏览,IIS也不允许我访问具有该名称的文件夹中的任何文件。如果我重命名文件夹(甚至是“扩展”部分),一切都可以正常工作


我浏览了许多IIS设置,没有发现任何关于禁止.php扩展的内容。发生了什么事?

您需要为IIS用户添加权限。请尝试通过添加用户来向文件夹添加权限 IIS_IUSRS并给予所需的权限

1.右键单击文件夹,转到属性 2.转到“安全”选项卡 3.如果在用户列表中没有看到具有权限的IIS_IUSR,请单击编辑 4.单击添加,在框中添加IIS\U IUSR并单击检查名称,它将 获取限定名称。 5.单击“确定”并应用


希望它能工作,然后通过反复试验,我找到了原因,并用URL重写解决了这个问题

对于表单的URL:

http://www.MYSITE/myblog/index.php/2013/04/29/SOMEFILE.html


问题出在
index.php
文件夹名中。IIS不允许我访问具有该名称的文件夹中的任何文件。如果我重命名文件夹(甚至是“扩展”部分),一切都会正常工作。

这让人想起Joomla虚拟(SEO)URL。我假设您根本没有静态文件,但是运行站点的CMS程序会在“index.php”之后解析这些信息,作为数据库查询的参数,以便动态创建html页面。在本例中,web服务器真正提供服务的唯一文件是index.php,程序根据输入的参数包括其他php文件。不过,您在目标服务器上创建了一个小文件并尝试加载它,这是正确的,但这意味着index.php目录结构没有意义。

请注意,正如我在文章中所述,我只能通过FTP和IIS管理器进行访问。我无法使用Windows资源管理器浏览文件系统。