12种实现301网页重定向方法的代码实例(含Web编程语言和Web服务器)
为什么需要使用301重定向:
1. 保留搜索引擎的排名: 301 重定向是最有效的方法,不会影响到搜索引擎对页面的排名。
2. 保留访客和流量: 如果你将页面链接到大量方法可以访问过的地址,如果不是用重定向的话你就会失去这些用户(不解)原文:if you move your popular page to which a lot of visitors have already linked, you may lose them if you don't used redirect method. this provides a great way to provide your visitors with the information they were looking for and prevent you from losing your traffic.
下面是 11 中实现 301 重定向的方法:
1. html 重定向/meta 刷新
将下面 html 重定向代码放在网页的 <head> 节点内:
<meta http-equiv="refresh" content="0; url=http://www.yourdomain.com">
上述代码立即将访客重定向到另外一个页面,你可以修改 content 中 的 0 这个值来表示几秒钟后才进行重定向。例如 content="3; url=http://www.oschina.net/" 表示三秒后再重定向。
2. php 重定向
header( "http/1.1 301 moved permanently" );
header( "location: http://www.new-url.com" );
?>
3. asp redirect
<%@ language=vbscript %>
<%
response.status="301 moved permanently"
response.addheader "location","http://www.new-url.com/"
%>
4. asp .net redirect
<script runat="server">
private void page_load(object sender, system.eventargs e)
{
response.status = "301 moved permanently";
response.addheader("location","http://www.new-url.com");
}
</script>
5. jsp redirect
<%
response.setstatus(301);
response.setheader( "location", "http://www.new-url.com/" );
response.setheader( "connection", "close" );
%>
6. cgi perl redirect
$q = new cgi;
print $q->redirect("http://www.new-url.com/");
7. ruby on rails redirect
def old_action
headers["status"] = "301 moved permanently"
redirect_to "http://www.new-url.com/"
end
8. coldfusion redirect
<.cfheader statuscode="301" statustext="moved permanently">
<.cfheader name="location" value="http://www.new-url.com">
9. javascript url redirect
<head>
<script type="text/javascript">
window.location.href='http://www.newdomain.com/';
</script>
</head>
10. iis redirect
在 internet 服务管理器中右击你想要重定向的文件和文件夹,选择 "a redirection to a url".
然后输入目标网址,选中 "the exact url entered above" 和 "a permanent redirection for this resource" 然后点击 'apply' 按钮。
11. 使用 .htaccess 进行重定向
创建一个 .htaccess 文件(代码如下)用来将访问呢 domain.com 重定向到 www.domain.com 下,该文件必须放置在网站的root目录,也就是首页放置的目录。
rewriteengine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
注意: .htaccess 方法的重定向只能在 linux 下使用 apache 的 mod_rewrite 模块启用的情况下使用。
12.nginx中的rewrite
server {
server_name www.jb51.net jb51.net;
if ($host = 'jb51.net' ) {
rewrite ^/(.*)$ //www.jb51.net/$1 permanent;
}