当用户省略时如何自动添加子域www(ASP.NET)?
好吧,由于某些客户端安全问题或其他原因,数据库跟踪仅在子域前面有 www 时才有效。 我想防止用户访问 thewebsite.com 后发现数据库没有为他们记录进一步的支持票。 如果他们点击 thewebsite.com,我需要它重定向到 www.thewebsite.com。
PS:我听到人们抱怨 www 应该被弃用,所以请省口气;)
Ok due to some client security something or other the DB tracking only works when there is a www in front of the subdomain. I want to prevent further support tickets from users going to thewebsite.com and finding out later the DB was not recording for them. I need it to redirect to www.thewebsite.com if they hit thewebsite.com.
PS: I heard people rant about the www should be deprecated thing already so save your breath please ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您同时通过了 www. 和非www。 向 ASP.NET 发出请求时,您可以检查 Request.Url 对象并检查它是否有 www,如果没有,您可以 Response.Redirect 到 www。 选项。
就我个人而言,我宁愿进入 IIS,创建一个单独的网站,只接受非 www. 请求并使用主页选项卡上的重定向选项将其重定向到 www. 网址。 这意味着无需更改代码,任何处理 503 状态消息的应用程序都会自动更新 URL。
If you pass both www. and non www. requests to ASP.NET you can check the Request.Url object and check if it has www if not you can Response.Redirect to the www. option.
Personally I would go into IIS rather, create a separate website which only accepts non www. requests and use the redirect options on the home tab to redirect it to the www. URL. This means no code changes are needed and any applications which handle 503 status messages will update the URL automatically.
使用 HttpModule 检查 url; 这将帮助您避免在每个页面或基页面(如果有的话)中测试该条件。 另外,如果您重定向,请确保您没有使用 Response.Redirect,因为出于 SEO 原因,它会发出非永久重定向 (302),而不是永久重定向 (301)。
对 PS 的回应:实际上 www 前缀总是比根 url 更好,因为它允许您为静态内容拥有无 cookie 的域,从而减少浏览器和服务器之间来回发送的数据量。
Use a HttpModule to check for the url; this would help you avoid testing for that condition in every page or the base page (if you have any). Also, if you redirect make sure that you are not using Response.Redirect as it issues a non-permanent redirect (302) instead of a permanent redirect (301) for SEO reasons.
Response to PS: Actually www prefix is always better instead of the root url as it allows you to have cookie-less domains for static content thus reducing the amount of data sent back and forth between the browser and the server.