301转向代码-带判断可用于同一目录。 之前网络上的301重定向代码都是直接转向,这样的话就需要把域名解析到不同的主机上。然后再把不带WWW的域名主机上然后做301转向到www主机上。这样就需要两个主机,成本和费用比较高。如果指向同一主机的话会造成301转向死循环。
要解决这个问题,其实可以在301转向前加一个判断。如果不带WWW的REQUEST转到WWW,带WWW的则不做处理。
ASP Code
- <%
- if request.ServerVariables("HTTP_HOST")="j218.com" then
- Response.Status="301 Moved Permanently"
- Response.AddHeader "Location","http://www.j218.com/"
- Response.End
- end if
- %>
如果是.net程序的话,可以做在首页的Page_Load,或者Global.asax里有个“Application_BeginRequest”事件中做转向。
C# Code
- if (!Request.Url.Host.ToLower().Contains("www
- {
- Response.Clear();
- Response.StatusCode = 301;
- Response.Status = "301 Moved Permanently";
- Response.AddHeader("Location", "http://www." + Request.Url.Host + Request.Url.PathAndQuery.ToLower().Replace("/index.aspx",""));
- Response.End();
- }
除非注明,文章均为深蓝网络原创,转载请注明出处,谢谢。
本文地址:http://www.dieep.com/Category/program/5.html
最新评论: