网站301重定向:阿里云windows服务器IIS6.0-IIS7.5通用全站(包括内容页)301重定向方法
最近PE准备把二级域名换成全拼域名”www.panoeade.com”试着在服务器iis上面直接设置HTTP重定向,哪知道操作之后以前的域名可以跳转到新域名上,内容页却不能跳转到对应的页面。如下:
Olddomain→Newdomain(老域名正常跳转到新域名首页)
Domain/1.html→Newdomain(内页依然是跳转到新域名首页)
这根本不是我理想中的样子啊,所以我就尝试着在网上找方法,找了好多关于301重定向,301跳转的解决方法,不是文不对题就是只能实现域名对域名首页跳转的,内页依然还是会重定向到新域名的首页,靠人不如靠自己,还是自己尝试解决吧。
以前我的服务器是windows2003,iis版本是6.0也就是iis6.0,以前操作的方法如下图:
首先:打开服务器上的IIS
然后:点击需要跳转的网站-属性-主目录
最后:选择重定向到URL-输入跳转到的域名-如图勾选(X)(H)选项-应用保存即可
注意:跳转到的网址后面一定要带上“$S$Q”才能让内页成功匹配新域名。
现在我的服务器是阿里云windows2008,iis版本是7.0,iis7.0的重定向选项在文字介绍上容易让人误解,但是功能操作没有太大变化,所以我就都试了试选项,没想到居然成功实现网站内页301跳转了,下面就将正确的操作方法告诉大家:
1.打开服务器iis信息管理器
2.选中需要重定向的网站
3.右侧界面出现的功能模块中选择HTTP重定向双击出现操作界面
4.勾选将请求永久重定向到此目标输入跳转到的域名
5.勾选将所有请求重定向到确切目标(而不是相对目标)
6.下拉选择(永久301)
7.右侧菜单栏选择应用
Iis6跟iis7的区别在于重定向选项的描述会让有些朋友有点难以理解其实作用是一样的下面就是对应的选项描述:
上面输入的准确URL=将所有请求重定向到确切目标(而不是相对目标)
输入的URL下的目录=仅将请求重定向到此目录(非子目录)中的内容
资源的永久重定向=(永久301)
网址后参数"$S$Q$P$V"介绍
$S
代码释义:
将请求重定向的URL的后缀传递给新的URL。后缀是用重定向的URL代替之后,初始URL中所保留的部分。
如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
如果映射到以下网站的虚拟目录:
yourdomain/news
配置为重定向到以下确切的URL:olddomain/news
$S
访问:olddomain/news/1.html即跳转到:newdomain/news/1.html
$P
代码释义:
将初始 URL中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。 如果映射到以下网站的虚拟目录:
yourdomain/news
配置为重定向到以下URL:
olddomain/news
$P
访问:olddomain/news/1.php&paper14645sdf&=6即跳转到:newdomain/news/1.php&paper14645sdf&=6
$Q
代码释义:
将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。 如果映射到以下网站的虚拟目录:
yourdomain/news
配置为重定向到以下确切的 URL:
olddomain/news
$S
$Q
访问:olddomain/news/1.php?paper14645sdf?=6即跳转到:newdomain/news/1.php?paper14645sdf?=6
$V
代码释义:
传递请求的URL,但是不包括服务器名和任何参数。
配置为重定向到以下确切的 URL:
olddomain/news
访问:olddomain/news即跳转到:newdomain/news
以上
$S
$Q
是比较常用的,其中
$P
$V
对于我们来说用得就比较少了。
说好的转型安全领域,可是我还是忍不住要给大家分享这个教程。因为这个问题很常见,大部分人都遇到了(可能你没注意),困扰了我很久,相信这是一篇真正适合你的IIS301跳转教程。
背景
说到301跳转,作为seoer的你可能自以为是的觉得这是个简单的常识,可是你还真的不一定全会,看上去你的301跳转成功了,但是真的是301吗?真的是全站301吗?你找个内页带参数的url试试就知道。
大部分人做的301只是首页301,或者内页部分301,真正的问题在于你可能还没发现这个问题。
环境与条件
VPS中IIS7.5
需要做全站跳转或者指定规则跳转
不带www域名跳转到带www域名
解决方法
如果你是独立vps云服务器,那么想要做的全站301,不可能靠web.config文件来实现的,web.config文件在实践中只能首页301跳转。
案例
我现在需要将老域名:seo.qiankoo.com,与新域名不带www的secafe.cn域名全部跳转到:http://www.vuln.cn
这是个很经典的案例,大多数人要做301大多数都是这两种。
- 首先,我新建一个站点,仅绑定域名:www.vuln.cn,指定站点目录为你的网站程序目录,如图:
- 然后,随便找个地方(最好还是站点同目录)建立一个空文件夹;新建一个站点,绑定需要跳转的域名(可同时绑定多个),指定网站目录为刚才创建的空白文件夹,如图:
- 然后针对这个需要跳转的站点进行操作,如案例中为secafe_301,进入http重定向
将301目标网站“www.vuln.cn”填入,下面两个选项不要勾,后期熟悉了功能可自行选择。
- 至此,初步的301已完成,可以实现内页伪静态与首页301跳转,但是如果url带参数,如http://seo.qiankoo.com /?p=1,可能会直接301跳到http://www.vuln.cn首页,虽然这是301,但是关系并不对应,不是我们想要的,接下来需要对加一个 url重写规则。【IIS7/7.5如何开启URL伪静态【详解】】
这里模式填写.*表示从根目录开始全部通配,达到完全对应,如果指定其他目录可在前面加上
这里添加条件,还是.*
下面填写跳转到的目录路径,这里填写的是目标站根目录通配。
最后别忘了点击应用:
- 至此,完工,用站长工具查看下是否301关系对应:
两个域名完美统一301对应跳转。
很久没更新这么详细的教程了,因为重要所以用心写了下,就当是备忘,也希望能帮到某些人。