风之力科技
股票代码:781340
400-718-5885或13605745691
service@nwpit.com

技术资讯

17Jun2015
点击

实现301重定向的几种可行方法

    301重定向,又称页面永久性移走,是一种非常重要的“自动转向”技术,而301永久重定向则是目前最高效、最友好(搜索引擎)的网址重定向的方法。在以下一些情况下可以使用301重定向:
    将旧网址重定向到新网址
    设置多个域名指向同一个网站
    只执行一个版本的地址(www或没有www),即将不带www的域名指向www域名
    协调URL结构变化 

有几种方法都可以设置301重定向,在这里为大家介绍几种最常用的方法。

1.PHP单页重定向

    重定向一个静态页面,只需要将以下代码写入 index.php文件中。
 
    <?php
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://www.newdomain.com/page.html");
        exit();

    ?>

 

2.PHP Canonical 重定向

    Canonical 301重定向将增加或减少所有页面的www前缀,下面这串代码可以实现将http://domain.com 定向到http:www.domain.com。 
    <?php
        if (substr($_SERVER['HTTP_HOST'],0,3) != 'www') {
        header('HTTP/1.1 301 Moved Permanently');
        header('Location: http://www.'.$_SERVER['HTTP_HOST']
        .$_SERVER['REQUEST_URI']);
        }

    ?>


3.Apache .htaccess 单页重定向

    使用Apache重定向需要新建一个.htaccess文件(不适用于Windows主机),然后将.htaccess文件放入网站的根目录里,并将下列代码写进.htaccess文件。 

    Redirect 301 /old/oldpage.htm /new/http://www.domain.com/newpage.htm


4.Apache .htaccess Canonical 重定向

    和Apache .htaccess 单页重定向一样,先创建.htaccess文件,再放入网站根目录,再将下列代码写入.htaccess文件。
 
    Options +FollowSymlinks
    RewriteEngine on
    rewritecond %{http_host} ^domain.com [nc]

    rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]


5.ASP单页重定向

    ASP单页重定向需要在Active Server Pages平台上设置。代码为:
 
    <%
        Response.Status="301 Moved Permanently"
        Response.AddHeader='Location','http://www.new-url.com/'

    %>


6.ASP Canonical 重定向

    ASP环境下的Canonical重定向可通过以下代码实现,这些代码在每个页面上都会最先被执行。
 
    <%
        If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then
        Response.Status="301 Moved Permanently"
        Response.AddHeader "Location","http://www."
        & Request.ServerVariables("HTTP_HOST")
        & Request.ServerVariables("SCRIPT_NAME")
        End if
    %>
    以上是一些常用的设置301重定向的方法,不过和302重定向不同,301重定向具有永久性,所以大家需要谨慎地设置301重定向。