301重定向的方法

来源:网络 文章列表 2019-08-27 8
永久重定向(permanent redirect)也被称为301重定向,是一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过其URL的最后一次变化以后时使用。一个永久定向是一种服务器端的重定向,能够被搜索引擎蜘蛛适当地处理。

301重定向定义:

永久重定向(permanent redirect)也被称为301重定向,是一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过其URL的最后一次变化以后时使用。一个永久定向是一种服务器端的重定向,能够被搜索引擎蜘蛛适当地处理。

什么情况下需要301重定向?

  • 网站调整(如调整了网站目录结构)
  • 网址被永久迁移到了新地址
  • 域名失效,更换到新域名
  • 多域名指向同一实际网站
  • 改变网页扩展名
  • 将xxx.com域名重定向到www.xxx.com,引导用户使用标准万维网格式域名

如何实现301重定向?

场景一、阿里云虚拟主机重定向

step1:阿里云控制台,找到自己的主机,

step2:然后进入主机管理控制台

step3:在主机管理控制台,找到 基础环境设置 ⇒ 301重定向。选择想要被重定向的源域名和重定向的目标域名,设置即可。

场景二、apache服务器的.htaccess配置301重定向

前提是Apache服务器

htaccess文件是Apache服务器中的一个配置文件(.htaccess文件一般在网站的根目录)。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。本文介绍域名www和不带www之间的301重定向。

修改方法

两个情况,即带www的跳转至不带www域名、不带www的跳转至www域名,大家根据情况复制代码,然后将域名修改成自己的即可。

一:不带www的跳转至www域名

RewriteEngine On
RewriteCond %{HTTP_HOST} ^lamplnmp.com [NC]
RewriteRule ^(.*)$ http://www.lamplnmp.com/$1 [L,R=301]

二:带www的跳转至不带www域名

RewriteEngine On
RewriteCond %{HTTP_HOST} !^lamplnmp.com$ [NC]
RewriteRule ^(.*)$ http://lamplnmp.com/$1 [L,R=301]

注意:以上代码直接复制到.htaccess文件,记得将本站域名lamplnmp.com改成你自己的。

windows服务器is6的301重写向设置方法

打开IIS,在IIS里找到已经建立的网站然后,右击选择“属性“。在弹出的对话框里选择主目录输入重定向的域名,然后选择资源的永久重定向确定即可。

2,通过伪静态组件来实现301重定向

window的主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。

(如果是虚拟主机需要咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后http.ini里或则是在在httpd.conf文件开始处加入以下规则:

#此规则表示如果访问是jsphp.net就跳转到www.jsphp.net

# For ISAPI_Rewrite 2.x

RewriteCond Host: ^jsphp.net$

RewriteRule (.*) http://www.jsphp.net$1 [I,RP]

# For ISAPI_Rewrite 3.x

RewriteCond %{HTTP:Host} ^jsphp.net$

RewriteRule (.*) http://www.jsphp.net$1 [NC,R=301]

注意以上两个伪静态的版本,版本不同使用的规则不一样。

3,windwos2008服务器系统的 iis7或则iis7.5 无论是虚拟主机还是独立服务器,可以通web.config来设置

以下代码主要实现www.jsphp.net跳转到jsphp.net

<configuration>

<system.webServer>

<rewrite>

<rule name="WWW Redirect" stopProcessing="true">

<match url=".*" />

<conditions>

<add input="{HTTP_HOST}" pattern="^www.jsphp.net$" />

</conditions>

<action type="Redirect" url="http://www.jsphp.net/{R:0}"

redirectType="Permanent" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

4,Linux系统301设置,将以下规则添加到.htaccess文件。

jsphp.net替换为自己的域名,表示将jsphp.net重定向到www.jsphp.net

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^jsphp.net$ [NC]

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

</IfModule>

5,适用于使用Unix网络服务器的用户

通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

形如:Redirect 301 / http://www.jsphp.net/

6,用ASP/PHP实现301重定向:

ASP:

Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.jsphp.net/"
Response.End

 PHP:

header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.jsphp.net/");
exit();

7,绑定/本地DNS

如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接