1

好的,由于某些客户端安全性或其他原因,数据库跟踪仅在子域前面有 www 时才有效。我想阻止用户访问 thewebsite.com 并在以后发现数据库没有为他们记录时提供进一步的支持票。如果他们点击 thewebsite.com,我需要它重定向到 www.thewebsite.com。

PS:我听说人们抱怨 www 应该已经被弃用了,所以请屏住呼吸;)

4

2 回答 2

4

如果你同时通过 www。和非 www。对 ASP.NET 的请求,您可以检查 Request.Url 对象并检查它是否具有 www,如果没有,您可以 Response.Redirect 到 www。选项。

就我个人而言,我宁愿进入 IIS,创建一个仅接受非 www 的单独网站。请求并使用主页选项卡上的重定向选项将其重定向到 www。网址。这意味着不需要更改代码,任何处理 503 状态消息的应用程序都会自动更新 URL。

于 2009-03-10T14:40:02.320 回答
2

使用 HttpModule 检查 url;这将帮助您避免在每个页面或基本页面(如果有的话)中测试该条件。此外,如果您重定向,请确保您没有使用 Response.Redirect,因为它出于 SEO 原因发出非永久重定向 (302) 而不是永久重定向 (301)。

对 PS 的回应:实际上 www 前缀总是比根 url 更好,因为它允许您为静态内容使用无 cookie 的域,从而减少浏览器和服务器之间来回发送的数据量。

于 2009-03-10T15:02:46.010 回答