我有一个问题,我确信它不是很难,但我真的不知道如何使用 Windows IIS 控制台。我有两个静态 html 页面(Lorem Ippsum 页面),当我访问我的网站时我想访问它们,类似于www.mysite.com/lorem1
和www.mysite.com/lorem2
。因为网站上有很多部署,所以我不想放入这些页面,wwwroot
因为它们会在下次构建时被删除。我也不想集成这些页面,所以它们随构建一起提供,因为这只是为了测试,所以我创建了一个虚拟目录,virtdir
html 页面现在位于该目录,为了访问,我必须写入www.mysite.com/virtdir/lorem1
。我感兴趣的是:如何将请求重定向www.mysite.com/lorem1
到www.mysite.com/virtdir/lorem1
以保留我创建的虚拟目录并使其在浏览器中不可见。
答案1
两种方式取决于你想要什么:
HTTP 重定向将获取所有 /lorem1,然后将您发送到 /virtualdir/lorem1。这很简单,您只需要在根目录中创建一个名为 lorem1 的文件夹,然后在 IIS 中为其设置 HTTP 重定向(单击文件夹,然后查看右侧的 HTTP 重定向图标)。缺点是浏览器完成加载后,用户将看到它是 /virtualdir/lorem1 URL。
使用 URL 重写来屏蔽真实 URL,以便用户将其视为 /lorem1。需要 IIS Microsoft 插件和一些配置。http://www.iis.net/download/urlrewrite
答案2
您不能让多个网站指向同一个域,否则 IIS 将无法正确路由它们,至少不能轻松地路由它们。
更好的问题是,如果您已经为 www.mysite.com 设置了一个网站,为什么不能将测试页面留在根目录中。主网站也没有理由必须位于 wwwroot 文件夹中。您可以随时更改默认网站指向的位置或创建其他网站并禁用默认网站。
无论如何,如果您希望文件出现在该目录中...请将它们放在该目录中。否则,您将必须执行到目前为止的设置,将它们放在虚拟目录中,然后浏览到另一个路径。
当然,如果它们只是用于测试的静态页面,那么使用虚拟目录为什么会导致问题?如果目的是确保站点正在运行,那么静态 HTML 文件实际上并不重要,特别是如果您的实际站点是基于 ASP.NET 的。