我想从 C# 代码修改重写规则。 Url 重写规则驻留在 web.config 文件中。
<system.webServer>
<rewrite>
<rules>
<rule name="partners">
<match url="^partners$" />
<action type="Rewrite"
url="partners.aspx" />
</rule>
<rule name="news">
<match url="^news$" />
<action type="Rewrite"
url="news.aspx" />
</rule>
<rule name="projects">
<match url="^projects$" />
<action type="Rewrite"
url="projects.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
我想为前任改变。 <rule name="partners"> <match url="^partners$" />
至 <rule name="partners"> <match url="^friendship/partners$" />
,
我如何找到节点规则并将匹配 url 更新为“new one” where name = "partners";?
这是我对动态 url 重写的想法。感谢您提供任何其他方式。
最佳答案
我使用以下代码在我的 web.config 网站中更改 connectionString 的值:
也许这个例子可以帮助你(只需将值 connectionString
更改为 system.webServer
并将 add
更改为 rules
等。
请告诉我它是否适合你
XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load("../myPath/web.config");
foreach (XmlNode node in myXmlDocument["configuration"]["connectionStrings"])
{
if (node.Name == "add")
{
if (node.Attributes.GetNamedItem("name").Value == "SCI2ConnectionString")
{
node.Attributes.GetNamedItem("connectionString").Value = "new value";
}
}
}
关于c# - 从代码 C# 更改 Web.Config 中的 URL 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752279/