如果您的主机是Windows系列的虚拟主机,通常情况下我们是通过设置IIS服务器实现301重定向,步骤如下:
1.打开Internet信息服务管理器,在欲重定向的网页或目录上按鼠标右键
2.选择虚拟目录属性页
3.选中“重定向到URL”
4.勾选上面输入的准确url和资源的永久重定向
5.点击确定,保存修改
如果是Linux系列的虚拟主机,我们是通过Apache服务器实现301重定向,只需要在 .htaccess 文件(每个文件夹下面都可以添加这个文件)里面做设置即可,我们在 .htaccess 里面添加
1.Redirect permanent / http://www.name.com/ ;它的意思是将当前目录下面的文件都重定向到http://www.name.com/
2.如果要对单个网页设置,将当前目录下面的 index.php 文件重定向到 http://www.name.com/我们需要使用Redirect permanent /index.php http://www.name.com/ ;
3.如果要将http://name.com/ 重定向到 http://www.name.com/,使网站网址更加规范化,我们可以写上以下代码:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^name.com[NC]
RewriteRule ^(.*)$ http://www.name.com/$1 [L,R=301]
如果我们的虚拟主机既不能设置Internet信息管理器,又不支持 .htaccess 文件怎么办呢?
下面我们介绍下如何在网页相应类型的文件的代码里面做301重定向,网页的类型分为asp,php和asp.net。而这样的方式只能适用于一个虚拟主机301重定向到另一个虚拟主机,不能放进绑定了 name.com或 www.name.com 域名的虚拟主机里面,否则我们访问两个网址任意一个的时候,虚拟主机就会自己向自己跳转,形成死循环,永远也看不到代码后面的网页内容的。
ASP程序301重定向:
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.name.com”>
%>
PHP程序301重定向:
<?php
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.name.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.name.com “);
}
</script>
单个虚拟主机,不支持子站点的虚拟主机请使用下面301重定向的设置方法:
比如我们的虚拟主机绑定了 name.com 和 www.name.com 域名,使用下面的代码当我们访问 name.com的时候,它会301重定向到www.name.com
ASP情况下的:
<%
if instr(request.ServerVariables(”Http_Host”),”www”)=0 then
Response.Status = “301 Moved Permanently”
Response.AddHeader “Location”, “http://www.” & request.ServerVariables(”Http_Host”)
Response.End
end if
%>
PHP情况下的:
<?php
if (strstr($_SERVER['HTTP_HOST'],”www”)==false)
{
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location:http://www.” . $_SERVER['HTTP_HOST']);
exit();
}
?>
注:以上代码中出现的 name.com和 www.name.com是作为例子引用的,使用代码的时候将它们换成您自己的域名即可。
当前没有评论!
抱歉,这篇日志的评论已关闭。