asp.net php asp jsp 301重定向的代码(集合)
1、Linux主机重定向
Godaddy的Liunx主机,Godaddy本身已经支持Apache,所以直接创建一个.htaccess文件就可以了,一般来说,在本地无法创建.htaccess的时候可以先创建一个txt格式文件,上传到根目录的时候再重命名为".htaccess"就可以了。网上很多如何进行 301重定向的教程,无论是整站重定向还是单页重定向。下面就以我的http://www.zjjv.com/为例
1.1 无http://www.zjjv.com/ [nc]
rewriterule ^(.*)$ http://http://www.zjjv.com///$1 [r=301,nc]
1.2 整站301重定向
复制代码 代码如下:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^jb51.net [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^http://www.zjjv.com/ [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
另外一种是在根目录下的index.php里这样弄
复制代码 代码如下:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://http://www.zjjv.com///");
exit();
2、ASP主机301重定向
在 index.asp 或 default.asp 的最顶部加入以下几行:
代码如下:
复制代码 代码如下:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://http://www.zjjv.com// "
Response.End
%>
3、ASP.net主机301重定向
ASP .NET:
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://http://www.zjjv.com//");
}
我封装在一个类里:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.HtmlControls;
namespace ClassLib
{
public class URLClass
{
private bool flag301 = false;//是否启动 301
private bool isIndex = false;//是否 返回主页 或者保留在当前页
/// <summary>
/// 构造函数
/// </summary>
/// <param>是否启动 301</param>
/// <param>Page</param>
/// <param>格式http://www.zjjv.com/</param>
public URLClass(bool fl, Page page, string strURL)
{
flag301 = fl;
URL301(page, strURL);
}
/// <summary>
/// 返回主页
/// </summary>
/// <param></param>
/// <param>格式http://www.zjjv.com/</param>
public void URL301(Page page, string strURL)
{
//301重定向
if (page.Request.Url.DnsSafeHost != strURL && flag301 == true)
{
page.Response.Clear();
page.Response.StatusCode = 301;
page.Response.Status = "301 MovedPermanently";
page.Response.AddHeader("Location", "http://" + strURL);
page.Response.End();
}
}
}
}
4 PHP的301重定向
复制代码 代码如下:
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://http://www.zjjv.com/";
$the_host = $_SERVER['HTTP_HOST']; //取得进入所输入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== 'http://www.zjjv.com/、http://www.zjjv.com/以及新域名中我gcidc.net全部重定向到http://www.zjjv.com/*/
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://http://www.zjjv.com/到http://www.zjjv.com/
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向http://www.zjjv.com/到domain.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://www.zjjv.com/$ [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
2.重定向http://www.zjjv.com/到domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
3.重定向olddomain.com到http://www.zjjv.com/
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
4.重定向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://http://www.zjjv.com///$1 [L,R=301]
5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^http://www.zjjv.com/$
RewriteRule ^file/file.php$ http://http://www.zjjv.com///otherfile/other.php [R=301,L]