【问题标题】:Disable Visual Studio Web Server Directory Browsing禁用 Visual Studio Web 服务器目录浏览
【发布时间】:2009-07-29 12:01:47
【问题描述】:

我正在使用 Visual Studio 的内置 Web 服务器来测试和 EPiServer 应用程序。当我在 IIS 中运行应用程序时,如果我点击虚拟目录的根目录,EPiServer 将接管并将默认页面提供给我。使用 Visual Studion 服务器(出于 SDK 许可的原因,我正在这样做),它总是为我提供我网站的“目录列表”视图。有谁知道如何配置此 Web 服务器以不允许目录列表/浏览?

其他信息: 这个问题似乎只影响了 Visual Studion Web 服务器的根(我从这里开始称它为 cassini)。例如,如果我从 localhost:6666 运行一个站点,那么我会发现 localhost:6666/en/ 可以正常工作,并且 EPiServer VPP 会知道它在做什么。如果我使用 localhost:6666/,那么 VPP 永远不会启动(或者它接缝)。在我看来,当 cassini 的根被命中时,它会检查页面是否存在(它不存在,因为我没有默认值)。如果它确定该页面不存在,那么它会提供目录列表,而不是 404。对我来说,首先要做的是禁用 cassini 中的目录浏览,然后看看为什么 VPP 没有正确操作。

所以我想问题的基础是:当 Visual Studio 启动一切时,有没有办法在 Cassini 中修改这些设置?

(EPiServer 可能是红鲱鱼,但以防万一,它是 CMS 版本 5)

进一步更新 我设法获得了 Cassini 3.5 的源代码并试了一下。 3.5 工作得很好,在这种情况下表现得像 IIS。 IE。缺少默认文档不会导致目录列表,而是如果允许 HTTP 处理程序启动,然后 EPiServer 会完成其余的工作!所以问题是,我可以在 Web 服务器上的 Visual Studios 工作中实现同样的效果吗?

【问题讨论】:

    标签: cassini episerver


    【解决方案1】:

    确保您有一个 ~/Default.aspx 文件。它不会呈现,但在 cassini 中需要虚拟路径提供程序有机会处理对“/”的请求。 当然,如果你还是成功了,你不妨将它用于起始页 :-)

    【讨论】:

    • 干杯艾伦,这几乎就是我最终所做的:)
    【解决方案2】:

    即使你可以让服务器不显示目录列表,你能让 EPiServer 接管吗?


    编辑:来自 cmets 它与 /en/ 一起工作的事实让我认为这是微软可以解决的问题。我建议您询问供应商是否有解决方法。如果他们不这样做,请在http://connect.microsoft.com/visualstudio/ 提出建议。请务必指定有关 EPIServer 的详细信息、供应商的 URL 等。

    请清楚它与 /en 一起使用,但您需要一个允许它在根目录下工作的设置。

    创建建议后,请编辑您的问题以包含指向您创建的建议的链接。这样,阅读您的问题的其他人可以投票决定他们认为这有多重要。

    【讨论】:

    • 我会这么认为。就像我说的。当目录浏览被禁用时,它在 IIS 中做得很好。如果我指定诸如localhost:6666/en 之类的语言也可以,但使用localhost:6666 只会给出目录列表。今天让我抱怨了很多:)
    【解决方案3】:

    EpiServer 部分让我感到困惑。但是,如果您询问如何设置 VS 开发服务器的默认页面(基于 Cassini 代码),您应该在项目属性(右键单击 web 项目)、Web、开始操作、特定页面,foo.aspx。

    我怀疑 cassini/VS 开发服务器没有默认页面功能——cassini 服务器的源代码(VS 开发服务器的祖先)is on the web and you can check that 并通过构建自定义版本来添加默认页面.而且它没有很长的 IIS 具有的其他功能列表。

    【讨论】:

    • 谢谢马特,我会看看源代码,看看我是否能找到任何可能对根目录有帮助的东西。
    • Iterasting,得到了 Cassini 3.5 的副本,它就像一个魅力!我会更新我的问题
    【解决方案4】:

    您运行的是哪个 EPiServer 版本? 你是用 EPiServer Manager 安装的吗?

    在主机名的根目录或作为(虚拟)目录运行站点之间的配置总是存在一些差异。

    检查 web.config 中的站点设置块,并确保您在项目根目录中有一个 default.aspx。

    【讨论】:

    • 我正在运行版本 5.2.375.133(我可能会说 CMS 5 SDK :))我当然可以放入 default.aspx。但我的查询实际上更多的是,当我没有 deafult.aspx 并通过 IIS 指向相同的代码时,EPiServer 将自动选择第一个启用的语言,但在 Visual Studio Web 服务器中,它似乎假设有没有默认文档,忽略 VPP 并返回目录列表。所以也许我真的在问如何让网络服务器相当于不允许目录浏览......或者我像个疯子一样漫无目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2018-09-07
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    相关资源
    最近更新 更多