我需要一个在IIS 7.5中使用虚拟目录创建的所有重定向URL的列表。
大概使用appcmd,理想情况下输出如下内容:
/foo http://example.com/blah
/bar http://another.example.com/ 301
非常感谢!
答案 0 :(得分:0)
所以我想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"),
};