我有一个 VPS(云服务器),我安装了 Visual Studio、IIS、SQL……所有这些好东西。我有时也在这个 VPS 上做开发。
这个网站基本上是一个简单的文件管理器。加载时,它会列出 App_Data 文件夹中的文件和文件夹。这就是说,我使用 App_Data 作为文件管理器的“root/home/topmost-directory”。
我将它们放在 App_Data 文件夹中的原因是因为我不希望用户像这样:www.mywebsite.com/ROOT/[获取文件列表]。相反,如果他们尝试访问:www.mywebsite.com/App_Data/[tries to get list],IIS 会以一个不错的错误阻止他们(因为 IIS 阻止访问该文件夹)。
因此,网站通过后面的代码访问 App_Data 文件夹中的结构。这就是网站导航的方式。它可以下载、上传、移动文件、重命名……删除……App_Data 文件夹中的所有内容。
唯一的问题是,这仅在我在 Visual Studio 中运行网站并运行测试、测试网站、调试等时才有效。当我(通过 Visual Studio 中的文件系统)将网站发布到目录时:“C: /inetpub/Sites/[WebsiteFolder]”,并导航到网站的 URL,该网站不再工作。它加载,但它不再获取 App_Data 文件夹中的文件结构,它无法创建新文件夹,无法重命名它们......
当我通过 FTP 将它上传到另一个托管在另一个托管公司(即共享托管)的其他网站空间时,这个网站运行良好。
所以我猜(我最好的猜测)我的 VPS 上的 IIS 不允许这种访问。而且我一直在尝试在 IIS 上找到可以/可能允许这样做的设置。
我启用了目录浏览,但这可能是我唯一能想到的,除了确保目录可访问(可读/可写)。
你可能知道我还能尝试什么吗?