列出 IIS 站点中的所有虚拟目录重定向

发布于 2024-11-30 22:39:09 字数 183 浏览 0 评论 0原文

我需要在 IIS 7.5 中使用虚拟目录创建的所有重定向 URL 的列表。

大概使用 appcmd,理想情况下输出类似:

/foo  http://example.com/blah
/bar  http://another.example.com/ 301

非常感谢!

I need a list of all redirect URLs which have been created with virtual directories in IIS 7.5.

Presumably using appcmd, ideally outputing something like:

/foo  http://example.com/blah
/bar  http://another.example.com/ 301

Much appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静谧幽蓝 2024-12-07 22:39:09

所以我想这对于 appcmd 来说是不可能的。我直接查询 IIS 配置文件(幸运的是,重定向是在此处配置的,而不是在单独的文件夹 web.configs 中!)。

var config = XElement.Load (@"C:\path\to\applicationHost.config");

var query =
  from location in config.Elements("location")
  let webServer = location.Element("system.webServer")
  where webServer != null
  let redirect = webServer.Element("httpRedirect")
  where redirect != null
  where (string) redirect.Attribute("enabled") == "true"
  let path = (string) location.Attribute("path")
  where !String.IsNullOrWhiteSpace(path)
  orderby path
  select new
  {
       path,
       destination = (string) redirect.Attribute("destination"),
       exactDestination =  (string) redirect.Attribute("exactDestination"),
       childOnly =  (string) redirect.Attribute("childOnly"),
       httpResponseStatus =  (string) redirect.Attribute("httpResponseStatus"),   
  };

So I guess this isn't possible with appcmd. I queried the IIS configuration file directly (luckily the redirects were configured here and not in individual folder web.configs!).

var config = XElement.Load (@"C:\path\to\applicationHost.config");

var query =
  from location in config.Elements("location")
  let webServer = location.Element("system.webServer")
  where webServer != null
  let redirect = webServer.Element("httpRedirect")
  where redirect != null
  where (string) redirect.Attribute("enabled") == "true"
  let path = (string) location.Attribute("path")
  where !String.IsNullOrWhiteSpace(path)
  orderby path
  select new
  {
       path,
       destination = (string) redirect.Attribute("destination"),
       exactDestination =  (string) redirect.Attribute("exactDestination"),
       childOnly =  (string) redirect.Attribute("childOnly"),
       httpResponseStatus =  (string) redirect.Attribute("httpResponseStatus"),   
  };
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文