gpt4 book ai didi

.net - 将 www 链接路由到 .net mvc 中的非 www 链接

转载 作者:行者123 更新时间:2023-12-04 22:53:55 25 4
gpt4 key购买 nike

.NET MVC 中内置的友好路由库似乎允许我们做这样的事情。

如果不清楚我想要使用 .NET MVC 中的内置内容做什么,我希望以 www 开头的 url 使用 MVC 框架自动重定向到非 www url。

最佳答案

您可以使用 IIS 7 URL Rewriting module
您可以从 IIS 设置它,也可以将它放在您的 web.config 中。以下是<system.webServer> :
www 到非 www

<rewrite>
<rules>
<rule name="Canonical" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www[.](.+)" />
</conditions>
<action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
或者,您可以在 global.asax.cs 上进行此重定向:
protected void Application_BeginRequest(object sender, EventArgs ev)
{
if (Request.Url.Host.StartsWith("www", StringComparison.InvariantCultureIgnoreCase))
{
Response.Clear();
Response.AddHeader("Location",
String.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host.Substring(4), Request.Url.PathAndQuery)
);
Response.StatusCode = 301;
Response.End();
}
}
但请记住@Sam 所说的话, look here for more info .

非 www 到 www
<rewrite>
<rules>
<rule name="Canonical" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^([a-z]+[.]net)$" />
</conditions>
<action type="Redirect" url="http://www.{C:0}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
制作一个正则表达式模式以匹配您的主机并使用 {C:0} 1, 2, ..., N得到匹配的组。

关于.net - 将 www 链接路由到 .net mvc 中的非 www 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com