黑帽联盟

标题: asp.net php asp jsp 301重定向的代码(集合) [打印本页]

作者: 定位    时间: 2017-3-20 22:26
标题: asp.net php asp jsp 301重定向的代码(集合)
介绍一下针对各类程序系统实施301重定向的代码

1、Linux主机重定向
Godaddy的Liunx主机,Godaddy本身已经支持Apache,所以直接创建一个.htaccess文件就可以了,一般来说,在本地无法创建.htaccess的时候可以先创建一个txt格式文件,上传到根目录的时候再重命名为".htaccess"就可以了。网上很多如何进行 301重定向的教程,无论是整站重定向还是单页重定向。下面就以我的www.cnblackhat.com为例

1.1 无www域名转移到www域名


1.2 整站301重定向


另外一种是在根目录下的index.php里这样弄


2、ASP主机301重定向
在 index.asp 或 default.asp 的最顶部加入以下几行:
代码如下:


3、ASP.net主机301重定向
ASP .NET:
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.cnblackhat.com");

我封装在一个类里:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Web.UI;
  5. using System.Web.UI.HtmlControls;
  6. namespace ClassLib
  7. {
  8. public class URLClass
  9. {
  10. private bool flag301 = false;//是否启动 301
  11. private bool isIndex = false;//是否 返回主页 或者保留在当前页
  12. /// <summary>
  13. /// 构造函数
  14. /// </summary>
  15. /// <param name="fl">是否启动 301</param>
  16. /// <param name="page">Page</param>
  17. /// <param name="strURL">格式www.xxx.com</param>
  18. public URLClass(bool fl, Page page, string strURL)
  19. {
  20. flag301 = fl;
  21. URL301(page, strURL);
  22. }
  23. /// <summary>
  24. /// 返回主页
  25. /// </summary>
  26. /// <param name="page"></param>
  27. /// <param name="strURL">格式www.xxx.com</param>
  28. public void URL301(Page page, string strURL)
  29. {
  30. //301重定向
  31. if (page.Request.Url.DnsSafeHost != strURL && flag301 == true)
  32. {
  33. page.Response.Clear();
  34. page.Response.StatusCode = 301;
  35. page.Response.Status = "301 MovedPermanently";
  36. page.Response.AddHeader("Location", "http://" + strURL);
  37. page.Response.End();
  38. }
  39. }
  40. }
  41. }
复制代码
4 PHP的301重定向


我用301.inc.php文件写了301代码,在其他文件头部都引用上 就可以了
<?php
//-----------------------------------
//301 重定向
$strDomain="cnblackhat.com";
$the_host = $_SERVER['HTTP_HOST']; //取得进入所输入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== 'www.'.$strDomain) //这是我要以前的域名
{
/*"!=="是不完全等于的意思,也可以用"!="不等于/
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://www.'.$strDomain.$request_uri);//跳转到我的新域名地址
}
//----------------------------------
?>

引用如下:


5 JSP的301重定向
如一页面article.jsp


在apache中如何实现301转向呢?
编辑.htaccess的方法。
注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

2.重定向www.domain.com到domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

3.重定向olddomain.com到www.newdomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]

4.重定向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]


作者: hjyy120    时间: 2017-3-21 09:26
有什么用的
作者: nongren8888    时间: 2017-3-21 22:33
http://aliyohui.52024go.com/
作者: a1278825006    时间: 2017-3-23 07:22
看看好不好
作者: 左右为难    时间: 2017-3-29 14:55
学习学学i<( ̄ˇ ̄)/<( ̄ˇ ̄)/
作者: yaowei    时间: 2017-3-30 16:18
感谢分享学习了
作者: xk2125a80    时间: 2017-7-5 16:23
感谢分享,学习了
作者: 262628530    时间: 2017-9-13 04:23
真的假的,来看看那
作者: 天天快乐来了    时间: 2018-1-11 18:18
下载学习 小程序
作者: zxc88    时间: 2018-7-7 15:08
我要看我要看




欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5