域名设置301重定向如何操作

域名设置301重定向如何操作,第1张

第一种情况,如果你有服务器或者vps,且系统是windows系统的。

在iis下,可以很简单的设置实现全站重定向

具体方法是:在VPS里把www.xxxx.com 域名的网站搭建好以后,按照同样的方式搭建一个xxxx.com的网站。然后打开“iis”。在XXXX.com的网站上鼠标右键打开选择属性,选择“主目录”标签,然后按照这个图设置

第二种情况,如果你的系统是Linux的。

做整站301跳转,很简单。如下修改文件httpd.conf或者.htaccess文件保存就可以了:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^xxxx.com [NC]

RewriteRule ^(.*)$ http://www.xxxx.com/$1 [L,R=301]

第三种情况,如果你是虚拟主机用户,如果你有子目录,恭喜你,也可以整站301重定向。具体方法是:

1.新建404.asp,把下面代码放到新建的404文件中保存。

代码

<%@ Language=VBscript %>

<%

Dim PageURL

PageURL=“http://”&Request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") &"?"&Request.ServerVariables("QUERY_STRING")

PageURL = Replace(PageURL, “http://xxxx.com/404.asp?404"http://xxxx.com:80,"") //修改为你的老域名

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", “http://www.xxxx.com”&PageURL&"" //修改为你的域名

%><%@ language="VBscript">

<%@ language="VBscript">

2.新建index.asp,把下面代码放到新建的ind文件中保存。

代码

<%@ Language=VBscript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://www.xxxx.com/"//修改为你的域名。

%><%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.xxxx.com/"//修改为你的域名。

%>

3.用ftp在网站根目录新建文件夹名为301,把上面的index.asp和404.asp上传进去。然后打开虚拟主机控制面板,添加子目录,把域名xxxx.com绑定到301文件夹 ,绑定后设置所属404页面为404.asp:

第四种情况,如果你是虚拟主机用户且你没有子目录,缺银子呗,呵呵,也是可以整站301的,具体方法是:

在网站根目录http.ini文件中,添加如下代码:

[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32

了http://m.fulinmenst.com/m/products.aspx?TypeId=69&fid=t3:69:3了

RewriteCond Host:^xxxx\.com$

RewriteRule (.*) http\://www\.xxxx\.com$1 [I,RP)

当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。

例如:404错误(页面未找到)或者200 OK(页面成功加载)301(返回301状态码成功)

正确的HTTP状态码:

错误的HTTP状态码:

对于搜索引擎来说,二级域名就是新域名,以一个新的站点来看待。如何保证转移后有效继承原来的权重不被降权?最好的办法就是做301。下面具体介绍二级目录301重定向到二级域名的两种方法:

网站某个目录实现301重定向到二级域名步骤方法:

一、.htaccess 文件代码法

1、这种方法只合适apache服务器,支持rewrite伪静态。直接在.htaccess 文件中增加这样一段规则:

RewriteEngine On

RewriteBase /

Redirect permanent (/你的目录地址 )

规则注释:当访问(/你的目录地址)原程序子目录的时候,自动重定向到你的二级域名,或者另外的新域名(请把域名网址修改成自己的)。

END

二、PHP文件代码法

编写301.inc.php文件

在网站根目录新建一个 301.inc.php 文件,写入以下代码:

<?php

$the_host = $_SERVER['HTTP_HOST']//取得当前访问域名

$url = $_SERVER['PHP_SELF']//获取域名后的字串,如:/bbs/index.php

$filename= substr( $url , strrpos($url , '/')+1 )//提取当前文件名

$querystring = $_SERVER["QUERY_STRING"]//获取问号后面的参数

if ($the_host !== '') //验证当前访问域名(就是你的新域名):若非引号内的域名,则进行如下跳转——

{

if ($querystring !== '') //验证文件名后是否有参数,如果有参数则跳转到——

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: '.$filename.'?'.$querystring)//跳转到我的新域名地址【带参数】

}

elseif ($filename == 'index.php') //如果是主页则直接跳转到新域名

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: ')//跳转到我的新域名

}

else //如果无参数则跳转到——

{

header('HTTP/1.1 301 Moved Permanently')//发出301头部,表明永久重定向

header('Location: '.$filename)//跳转到我的新域名地址【不带参数】

}

}

?>

保存后,上传网站根目录。

注:代码中的二级域名替换为你的域名。

PHP页面增加跳转

在每一个需要跳转的PHP页面的 <?php 下面加一行代码实现301跳转:

include("301.inc.php")//301重定向

刷新后,就可以测试效果了。至于是哪些页面,要根据你用的程序来。如Discuz 论坛通常需要跳转的是以下几个页面:

index.php,forum.php,home.php,group.php,member.php,portal.php,space.php

这就是二级目录301重定向到二级域名的详细操作步骤

301跳转通常用在网站换域名和为了保持链接统一性所用的。比如原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html。下面摘抄一下设置301的代码:301跳转代码全集(ASP|PHP|JSP|.NET):

IIS下301设置:

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

ASP下的301转向代码

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://www.boaer.com/”

%>

ASP.Net下的301转向代码

<script runat=”server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”

Response.AddHeader(”Location”,”http://www.boaer.com/”)

}

</script>

PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”)

header(”Location: http://www.boaer.com/”)

exit()

CGI Perl下的301转向代码

$q = new CGI

print $q->redirect(”http://www.boaer.com/”)

JSP下的301转向代码

<%

response.setStatus(301)

response.setHeader( “Location”,“http://www.boaer.com/” )

response.setHeader( “Connection”,“close” )

%>

Apache下vhosts.conf中配置301转向,为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<VirtualHost *:80>

ServerName www.boaer.com  

DocumentRoot

</VirtualHost>

<VirtualHost *:80>

ServerName xxx.com

RedirectMatch permanent ^/(.*) http://www.boaer.com/$1

</VirtualHost>

Apache下301转向代码,新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带WWW的域名转向到带WWW的域名下:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^xxx.com [NC]

RewriteRule ^(.*)$ http://www.boaer.com/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.boaer.com/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+)\.html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

301设置好这后,就要检测一下301是否生效。这里有两个在线检测301重定向的工具:

国内版:http://tool.chinaz.com/pagestatus/

国外版:http://www.seoconsultants.com/tools/headers#Results


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/391852.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存