网站运营过程中经常有一个网页跳转另外一个网页,一个域名跳转另外一个域名的需求。本文给出以下几种不同的方法,并简要概括一下他们的特点和操作方法。
一、301/302重定向
在web server设置301/302重定向,可以实现域名和网页的跳转。表现为在浏览器地址栏输入一个网址,跳转到另外一个网址,是可以看到网址的变化的,当然这种变化是可以跨域名或同域名不同URL。其中302是临时的重定向,301是永久重定向(在SEO中涉及权重的传递),方法如下:
1、linux系统管理面板
以宝塔面板为例,宝塔控制面板--网站--设置--301重定向,填写目标URL,勾选启用301,如下图:
2、windows IIS管理器
打开IIS管理器--左侧列表选择网站--HTTP重定向,选择301,填写目标URL,如下图:
3、也可以修改网址根目录.htaccess文件(linux系统)或Web.config文件(windows系统)来实现,规则示例分别如下:
RewriteEngine On
RewriteBase /
RewriteRule http://要跳转的域名/$ http://要转向的域名/ [R=301,L]
RewriteRule ^(.*)article/list_([0-9]+).html$ $1/article/list_$2 [R=301,L]
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rule1" stopProcessing="true">
<match url="^news/list_([0-9]+)" />
<action type="Rewrite" url="index.php?m=content&c=index&a=lists&catid=1&page={R:5}" />
</rule>
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^需要转的域名$" />
</conditions>
<action type="Redirect" url="http://要转到的域名/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
二、域名CNAME解析
域名解析添加CNAME记录,主机记录www或@,或者您的二级域名,记录值为您的目标网站URL。表现为在浏览器地址栏输入网址,网页加载呈现的是另外一个域名或网页的内容,浏览器地址栏网址不变。
三、网页内代码跳转
通过在网页中写入跳转代码实现跳转,表现为在浏览器输入网址,跳转向另外一个网址,网址发生变化。
html标签跳转:<meta http-equiv="refresh" content="1" url="http://www.web315.net/">
。
js跳转:
<script type="text/javascript">
window.location.href = "http://www.web315.net/";
</script>
后端跳转,以PHP为例:
<?php
//重定向浏览器
header("Location: https://www.web315.net/");
//确保重定向后,后续代码不会被执行
exit;
?>