一般IIS服务器上设置301重定向有两种方法:1)是使用的服务器(或者VPS及云主机),可在服务器的IIS里直接设置;2)是使用的虚拟空间(空间支持IIS301重定向)。下面就先介绍在服务器里使用IIS设置方法。
一、IIS服务器下直接设置301重定向。
1.新建一个站点,对应目录如E:\wwwroot\301web。该目录下只需要1个文件,即index.html或者加个404.htm。绑定要跳转的域名。
2.在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入网址如:http://www.wenidc.com,同时注意选中下面的资源的永久重定向选项。
3.到此,我们已经完成了将wenidc.com这个域名301重定向到www.wenidc.com的工作。
注意问题:
“上面输入准确的 URL(X)”这个选项建议不要选。
不选的结果是:
当输入wenidc.com转到了www.wenidc.com,
当输入wenidc.com/sanwen/suibi/时,转到了www.wenidc.com/sanwen/suibi/。
选上的结果是:
当你输入wenidc.com或者wenidc.com/sanwen/suibi/都会转到www.wenidc.com。
好了,如果只是想把不带www的转到带www的或者其他没有用过的域名转到正在使用的域名,这样就可以了。但是如果你要的域名已经做过网站,想要把权重传递给新网站,可以参考下面这个方法:第一步同上,主要是第二步。
“上面输入准确的 URL(X)”这个选项也打了勾。在重定向到地址的后面添加$S$Q字符,即写成了http://www.wenidc.com$S$Q
对于$S$Q字符,这里解释一下:
$S 将请求的URL 的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。
如果未设置 EXACT_DESTINATION 标志,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$Q 将初始URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。
如果不加上$S$Q字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。
好了,这样就完成了在IIS中301永久重定向的设置,设置好之后最好能测试下是否返回的是301值。
二、IIS服务器下使用代码设置301重定向。
打开“Internet信息服务”,右击你要跳转的文件夹或者文件,在弹出的右键菜单中选择“属 性”弹出的对话框中,“目录”选项下找到“连接到资源是的内容来源”,选择“重定向到URL”,在下面的文本框中输进要跳转到的页面同时,将“客户端将定 向到” 下面的复选框 “资源的永久重定向”选上 点击“应用” 。
使用代码做301重定向的方法:
1.PHP下的301重定向
<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: http://www.wenidc.com/" );
?>
2.ASP下的301重定向
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.wenidc.com/"
%>
3.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.wenidc.com/");
}
</script>
ColdFusion下的301重定向
<.cfheader st开心atuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.wenidc.com/">
以上方法都经过测试绝对正确。