最新消息:

asp,.net,php,iis,Apache等做301重定向方法

PHP程序 李金龙 5153浏览 0评论

以前总是说说301重定向,但是却不知道怎么去做这些,尤其是有些朋友是虚拟主机,很多时候都不知道怎么做了,现在给大家说一下这些的具体操作方法:
发生301域名重定向的主要有两种情况1、自身域名重定向 2、域名更换式重定向。
1、自身域名重定向
自身域名重定向一般是:***.com永久重定向到 www.****.com 在这里需要增加一句话。懂得程序的人都知道,需要增加一个判断,如果不增加判断,页面就一直进行301重定向,那么页面就不停的在做死循环,一会服务器就会挂掉,或者会报错。
下面依ASP例:

<%
'判断不带www的域名,如过是的话进行301重定向。
if request.ServerVariables("HTTP_HOST")="***.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location",http://www.***.com
Response.End
end if
%>

其他语言的到网上一搜索就可以搜索的到。

2、域名更换式重定向。

1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

2、ASP下的301转向代码

<% Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.lijinlong.com/post/301.html”
%>

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.lijinlong.com/post/301.html");
}
</script>

4、PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://www.lijinlong.com/post/301.html”);
exit();

5、CGI Perl下的301转向代码

$q = new CGI;
print $q->redirect(”http://www.lijinlong.com/post/301.html”);

6、JSP下的301转向代码

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.lijinlong.com/post/301.html" );
response.setHeader( "Connection", "close" );
%>

7、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lijinlong.com [NC]
RewriteRule ^(.*)$ http://www.lijinlong.com/post/301.html/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.lijinlong.com/post/301.html/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

8、Apache下vhosts.conf中配置301转向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<virtualhost *:80>
ServerName http://www.lijinlong.com/post/301.html
DocumentRoot /home/lesishu
</virtualhost>

<virtualhost *:80>
ServerName lesishu.cn
RedirectMatch permanent ^/(.*) http://www.lijinlong.com/post/301.html/$1
</virtualhost>

查询301重定向是否成功。
http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/

转载请注明: » asp,.net,php,iis,Apache等做301重定向方法

发表我的评论
取消评论

表情

网友最新评论 (4)

  1. 好文 ,收藏了,前几天刚碰到asp 301 没做判断,添加代码后就打不开网页了。
    山债版00711年前 (2010-03-02)
  2. @山债版007 其实很简单的,多多总结就可以了!
    落水鱼11年前 (2010-03-02)
  3. 挺不错的,顶一个。
    天阳11年前 (2010-03-11)