详解网站的301转向以及网址的规范化建设
“zooookology”通过精心收集,向本站投稿了2篇详解网站的301转向以及网址的规范化建设,下面是小编精心整理后的详解网站的301转向以及网址的规范化建设,仅供参考,大家一起来看看吧。
篇1:详解网站的301转向以及网址的规范化建设(2)
怎样做301转向 如果你用的是Unix/Linux主机,可以用文件(Unix/Linux中用于目录特定指令如密码,转向,错误处理等的文件). 比如把/old.htm...
怎样做301转向
如果你用的是Unix/Linux主机,可以用文件(Unix/Linux中用于目录特定指令如密码,转向,错误处理等的文件).
比如把/old.htm转到,可以用这个指令:
redirect 301 /old.htm
或
redirect permanent /old.htm
如果要把所有形式的URL用301重定向转到 ,包括:
转到
及
转到
等等,还要用到mod_rewrite:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
如果你用的是 Windows主机,应该在控制面板做301转向设定.
据我所知,HTML无法做301转向.在HTML里只能做JS或META. REFRESH,但不是301转向.HTML一被读取,就已经返回200 OK状态码了.
如果你的页面是ASP或PHP还可以做301转向:
ASP:
<%@ Language=VBScript. %>
<%
Response.Status=“301 Moved Permanently” Response.AddHeader “Location”, “ ”
PHP:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: ” );
?>
另外,DOThtaccess文件只是一个普通文字文件,你用Notepad建这个文件,放上指令,存在你帐号的根目录下就行了.不需要修改Apache.
厚诚集智 成长无限 企业大学网 www.51hlht.com
篇2:浅谈301永久重定向:网站域名转向到新的域名
解释3xx状态我们以301永久重定向为例,我们发请求给g.cn,看到HttpWatch的信息以下是代码片段: HTTP/1.1 301 Moved Permanently...
解释3xx状态我们以301永久重定向为例。我们发请求给g.cn,看到HttpWatch的信息以下是代码片段:
HTTP/1.1 301 Moved PermanentlyCache-Control: private, max-age=2592000Content-Length: 235Content-Type: text/html; charset=UTF-8Date: Mon, 11 Jan 2010 13:58:44 GMTExpires: Mon, 11 Jan 2010 13:58:44 GMTLocation: www.google.cn/webhp?source=g_cnServer: gwsX-XSS-Protection: 0此状态明显说明301永久重定向,但是从定向到哪里呢??看下面有一个Location: www.google.cn/webhp?source=g_cn,Location的意思是位置,一个3xx的请求必须包含Location字段信息,否则将不知道转向到哪里。
在程序中实现3xx状态ASP:
在ASP的编程中有一个方法或者说是函数可以控制状态行的字符,并且可以添加Location这样的字段。
以下是代码片段:
<%Response.Status = 301 ‘表示状态切换成301Response.AddHeader “Location”,“www.baidu.com/” ’在头中添加Location字段,其内容是百度的网址。
%>
以下是代码片段(精确重定向):
<%Response.Status = 301 ‘表示状态切换成301Response.AddHeader “Location”,“www.baidu.com/”&Request.ServerVariables(“HTTP_X_REWRITE_URL”) ’在头中添加Location字段,其内容是百度的网址。
%>
这是永久重定向的实现方法,有人说Response.Redirect也可以重定向,但是你最好用HttpWatch看看到底是不是301!
Request.ServerVariables(“HTTP_X_REWRITE_URL”)是ASP中获得请求路径的方法。
PHP:和ASP一样,也是两步以下是代码片段:
以下是代码片段(精确重定向):
在PHP中header()这个方法直接可以对HTTP头部信息进行操作,如果不写“header(”HTTP/1.1 301 Moved Permanently“); ”这个的话也可以转向,不过和ASP的Response.Redirect一样,状态不会是301而是300,
ASP.net:也是两步以下是代码片段:
<%@ Page Language=“C#” %>
<%Response.Status = “HTTP/1.1 301 Moved Permanently”;Response.Headers.Add(“Location”, www.baidu.com/);%>
以下是代码片段(精确重定向):
<%@ Page Language=“C#” %>
<%Response.Status = “HTTP/1.1 301 Moved Permanently”;Response.Headers.Add(“Location”, “www.baidu.com/”.Request.ServerVariables(“HTTP_X_REWRITE_URL”));%>
策略要实现重定向,就要保证用户访问的所有地址都执行了上面的代码,如果有条件可以将所有请求Rewrite到一个这样的文件,如果不行,就想办法都要执行这个代码,其中有很多办法,比如dedecms无论访问什么地址都执行了common.inc.php这个文件,大家就可以上面的代码放到这个文件中。
另外同一空间实现判断重定向,如果一个空间绑定了两个域名www.111.cnwww.111.com如果用户访问的是www.111.cn/index.asp?page=2这样的网站重定向到www.111.com/index.asp?page=2,在同一空间如何实现,这里是以ASP编程做的例子,如果想判断是cn的域名就进行转向,不是com的域名就不转向可以通过编程方法实现判断以下是代码片段(精确重定向):
<%comDomain = “www.111.com” ‘定义COM域名If Request.ServerVariables(“SERVER_NAME”) comDomain Then ’如果请求的域名不是com的域名Response.Status = 301 ‘表示状态切换成301Response.AddHeader “Location”,“” & comDomain & “/”&Request.ServerVariables(“HTTP_X_REWRITE_URL”) ’在头中添加Location字段,使用当前的求情的路径加上COM的域名组合成新的地址。
End If%>
补充一下:Apache服务器可以直接在 .htaccess 文件中实现 301重定向。
厚诚集智 成长无限 www.51hlht.com
【详解网站的301转向以及网址的规范化建设】相关文章:
4.网站建设合同书
6.网站建设实习目的
10.学校网站建设方案






文档为doc格式