WordPress the_time()设置时间格式

WordPress默认的文章发表时间是按照国外的书写习惯来的,看着就非常别扭,要将它设置成符合我们中国人习惯的时间格式,比如2010年2月1日这种日期格式,是中国人一眼就能看出了。我们先看看WordPress默认主题中的时间格式代码:

<?php the_time(__('F jS, Y', 'kubrick')) ?> <!-- by <?php the_author() ?> -->

我们先要弄明白the_time函数里面的参数F,js,Y代表了什么意思,就可以将日期设置成任何自己的喜欢的格式了,看下面的表格:

参数 参数描述  输出时间格式
 d 日期 06
 j 日期  6
 D 星期
 F 月份  一月
 g 小时  6
G 小时 06
 h 分钟  6
 H 分钟  06 
 a 上下午   am/pm
 A  上下午  AM/PM
 l  星期  星期一
 m 月份   01
 M 月份   Jan
 n 月份 
 O 时区   +0800
 r 完整的日期时间   Mon, 06 Jan 2010 20:30:10 +0800
 S 序列型数字的后缀   st/th
 T  时区 CST
 w 星期   2
 W 周数  22
 y 年份   10
 Y 年份   2010
 z 天数   365

下面再举几个WordPress设置时间格式的例子:

  • 中文日期格式设置,年月日:如:2010年2月1日,则Wordpress the time函数的参数这样写: <? php the_time(’Y年n月j日’); ?>
  • 中文时间的设置,小时分秒:如:22:22:22,则Wordpress the time函数的参数这样写:<? php the_time(’G:i:s’); ?>
  • 星期格式设置,星期:如:2010年11月1日星期四,则Wordpress the time函数的参数这样写: <? php the_time(’Y年n月j日l’); ?>。

转自:http://farlee.info/archives/wordpress-the-time-function.html

发表在 技术备忘, 知识库 | 留下评论

discuz X1.5 禁止版块收录

1.使用robots.txt文件,禁止版块列表的收录
Disallow: /forum-1-
#数字即为要禁止版块的ID。
#注意数字最后的 – 不要省略,否则连ID为11,12等1开头的版都禁了

2.加meta robots标签,禁止收录某个版块帖子
修改viewthread.php文件,在$oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : ‘D’; 上面加:

if( $_G['forum_thread']['fid']==18 || $_G['forum_thread']['fid']==20 || $_G['forum_thread']['fid']==2 || $_G['forum_thread']['fid']==12 || $_G['forum_thread']['fid']==22 ){
    $_G['setting']['seohead'] .= ‘<meta name=”robots” content=”noindex,nofollow” />
‘;
}}判断一下帖子是属于哪个版($thread['fid'])的,给它加上meta robots禁止。

发表在 技术备忘 | 留下评论

IE6 CSS控制图片大小-适应宽度

同于IE6不支持max-width 在图片大小-适应宽度
用css 的expression方法在CSS控制图片大小时,如果把图片的宽度写死,比如 img{width:500px;} ,固然,如果图片宽度大于500px可以很好的控制它不让它过大,但如果图片宽度小于500px,比如说只有100px时,刚才的写法会把这张图扩大5倍 显示,显然,这不是我们想看到的。
那么,CSS如何可以区分对待这些图片设置大小呢?很简单,请看:
img{width:expression(this.width>500?”500px”:this.width+”px”); }
只要在CSS运用这段代码,就可以分别控制大图片与小图片。它的意思就是,如果图片宽度大于500px,那么图就按照原有尺寸显示!

http://blog.5156space.cn/index.php/archives/34

发表在 技术备忘 | 留下评论

IE6.0下PNG透明最简洁解决方案

如果你的网站中使用半透明png作为背景的元素id为logo,则在之间加入:

<!– for ie6 png fix –>
<script type=”text/javascript” src=”…/iepng.js”></script>
<script type=text/javascript> EvPNG.fix(‘#logo’);</script>

IE6.0下PNG透明最简洁解决方案

当然全局使用时你也可以“EvPNG.fix(div, ul, img, li, input);”

转自http://blog.5156space.cn/index.php/archives/266

发表在 技术备忘 | 留下评论

[转载备用]杰奇1.7整合UCenter方法

一直在试着怎么用UCenter整合杰奇用户,这样做的优势在于用户的互联,能使杰奇和UCenter各个相关站点更好的连接在一起。

1,分别安装UCenter和杰奇CMS小说系统。

杰奇CMS官方地址:http://www.jieqi.com

UCenter官方地址:http://www.discuz.net

2、将杰奇 CMS中原来的 /include/funuser.php 做好备份,比如改名成 funuser_default_bak.php。

然后把该目录下 funuser_ucenter.php 改名成 funuser.php

3、编辑杰奇 CMS中的 /uc_client/config.inc.php,如果使用数据连接,设置好相关参数,通信密钥可以自己随意设定,跟Ucenter后台设置要相同;

4,进入Ucenter后台,“应用管理”点“添加新应用”

选择安装方式: 自定义安装

应用名称:填网站名,比如 杰奇 CMS

应用的 URL:填杰奇 CMS网址,如 http://www.4gdm.com

应用 IP: 一般可以留空,或设置成JIEQI CMS服务器ip

通信密钥: 自己设置一个密码

应用类型: 选其他

应用的物理路径: 留空

查看个人资料页面地址: /userinfo.php?id=%s

应用接口文件名称: uc.php

标签单条显示模板: 留空

标签模板标记说明: 留空

是否开启同步登录: 是

是否接受通知: 否

然后提交

这时候再点应用管理,如果提示通讯成功,一般就设置好了

5,对于杰奇1.7的用户来说,还需要最后一步才能正确连接

编辑杰奇 CMS中的 /uc_client/config.inc.php ,找到以下代码:

define(‘UC_DBTABLEPRE’, ‘ucenter.uc_’);  // UCenter 数据库表前缀 

把ucenter.uc改成你自己的数据前缀,例如我的数据前缀是 uc_bdc 那么就把ucenter.uc改成 uc_bdc.uc

define(‘UC_DBTABLEPRE’, ‘uc_bdc.uc_’); 

好了,这样Ucenter就可以和杰奇CMS连接啦~

不过我遇到个奇怪的问题。。。每次登陆都提示以下字样。。。还在研究中- -

image

发表在 技术备忘 | 2 条评论

HTML5.0使用头部标签实现页面切换效果

使用方法纯绿色,只需要将以下代码加入到网页文件头部信息就OK。

<META http-equiv=Page-Enter content=revealTrans(Transition=23,Duration=6.0)>

<meta http-equiv=”Page-Enter” content=”progid:DXImageTransform.Microsoft.GradientWipe(Duration=0.5)”/>
<meta http-equiv=”Page-Exit” content=”progid:DXImageTransform.Microsoft.GradientWipe(Duration=0.5)”/>

注:Transition=23  其中“23”是特效的表编号,23是随机的,需要那种效果,直接换成下面的特效编号即可

页面切换特效代码及其说明第一步:     把以下的HTML程式码复制以后贴到你网页上的标签里:<META http-equiv=Page-Enter content=revealTrans(Transition=23,Duration=6.0)>    太简单了吧!不过还是有难度较高,而且需要你伤脑筋,却能发挥你艺术天分的地方:就是设计过场效果的种类。现在你面对的是每个大导演都要绞尽脑汁的问题:什么样的效果能传达我的意念?什么样的效果可以用动感十足、自信而又充满启发性的方式,让网页的内涵与上网站的人紧紧相系,揭露我心目中的美丽人生呢?     一般来说我们都是设成23和「Random」,但你可以从底下的表单中自订Transition(过场)的值。Duration是设定效果从开始到结束中间经过的秒数;所以是要设成五秒来考验大家的耐力,还是要毫不留情的设成一秒呢?    过场特效种类 Transition值
      Box in(方格收敛) 0
      Box out(方格外散) 1
      Circle in(圆形收敛) 2
      Circle out(圆形外散) 3
      Wipe up(掀帘子见客) 4
      Wipe down(下台一鞠躬) 5
      Wipe right(由左至右) 6
      Wipe left(由右至左) 7
      Vertical blinds(直立式百叶窗) 8
      Horizontal blinds(传统百叶窗) 9
      Checkerboard across(横向棋盘格) 10
      Checkerboard down(下坠棋盘格) 11
      Random dissolve(溶接效果) 12
      Split vertical in(关门大吉) 13
      Split vertical out(开张大吉) 14
      Split horizontal in(上下向中间收敛) 15
      Split horizontal out(中间向上下展开) 16
      Strips left down(右上斜左下) 17
      Strips left up(右下斜左上) 18
      Strips right down(左上斜右下) 19
      Strips right up(左下斜右上) 20
      Random bars horizontal(水平任意直线) 21
      Random bars vertical(垂直任意直线) 22
      Random(任意选择以上特效) 23第二步     这个步骤是随你高兴     你还可以再增加特效,只要多几个与上述类似的META标签就可以了,除了Page-Exit标签的 http-equiv 值、Site-Enter 或 Site-Exit 以外。最后的两个标签只有在前一页或后一页不是在你的网站上时才有作用。

发表在 技术备忘, 知识库 | 一条评论

将VPS备份到Godaddy空间的一点经验

前一段时间摆弄网站图片服务器,险些将论坛图片整丢了,幸好最后找Godaddy给找回来了,虽然那个是免费服务器但是美帝国主义的服务态度还是可以。然后就对数据备份十分重视起来。

前天买了Godaddy的云空间,想想就干脆把数据都备份到云空间去。备份的方法是参考VPS侦探的《Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本》

从VPS侦探建站之初就一直在重申一定要备份好自己的数据,因为太多的不确定性可能会造成数据库丢失,而且大部分VPS服务商也不可能提供每天备份数据。

原来VPS侦探提供过一个VPS备份方法,只是略微说了一下,可能部分新手会不太好入手。今天VPS侦探分享一个自己的备份脚本。

准备工作:

需要提前在VPS安装好lftp,lftp功能上比较强大,CentOS直接执行:yum install lftp,Debian执行:apt-get install lftp 。

需要在VPS上创建/home/backup/ 目录,在FTP上创建backup目录。

如果VPS上数据库不多的话使用Godaddy的免费空间就可以(10GB空间,300GB流量),只要注册个域名就免费送。
下面将备份脚本进行部分注释:
#!/bin/bash
#Funciont: Backup website and mysql database
#Author: licess
#Website: http://lnmp.org
#IMPORTANT!!!Please Setting the following Values!

######~Set Directory you want to backup~######将下面的目录修改成自己要备份的目录,一般按我的都是在/home/wwwroot/下面所有直接写了需要备份的目录。可以继续再加:Backup_Dir5=你的目录 ,Backup_Dir后面的数字依次递增。如果不足4个,直接删除不需要的就可以,同时修改下面tar zcf 部分。

Backup_Dir1=vpser.net
Backup_Dir2=lnmp.org
Backup_Dir3=licess.org
Backup_Dir4=jungehost.com

######~Set MySQL UserName and password~######设置MySQL的用户名和密码,最好是root,其他用户可能因为权限问题无法导出部分数据库。
MYSQL_UserName=root
MYSQL_PassWord=yourmysqlrootpassword

######~Set MySQL Database you want to backup~######设置要部分的数据库,可以继续再加:Backup_Database_Name5=数据库名,Backup_Database_Name后面的数字依次递增。
Backup_Database_Name1=vpser
Backup_Database_Name2=licess
Backup_Database_Name3=junge
Backup_Database_Name4=vpserorg

######~Set FTP Information~######设置用来存放备份数据的FTP信息
FTP_HostName=184.168.192.43 //FTP服务器的IP或者域名
FTP_UserName=vpsernet //FTP服务器用户名
FTP_PassWord=yourftppassword //FTP服务器用户对应的密码
FTP_BackupDir=backup //备份到FTP上的目录,需要提前创建好。

#Values Setting END!

TodayWWWBackup=www-*-$(date +”%Y%m%d”).tar.gz
TodayDBBackup=db-*-$(date +”%Y%m%d”).sql
OldWWWBackup=www-*-$(date -d -3day +”%Y%m%d”).tar.gz
OldDBBackup=db-*-$(date -d -3day +”%Y%m%d”).sql

tar zcf /home/backup/www-$Backup_Dir1-$(date +”%Y%m%d”).tar.gz -C /home/wwwroot/ $Backup_Dir1 –exclude=soft
tar zcf /home/backup/www-$Backup_Dir2-$(date +”%Y%m%d”).tar.gz -C /home/wwwroot/ $Backup_Dir2
tar zcf /home/backup/www-$Backup_Dir3-$(date +”%Y%m%d”).tar.gz -C /home/wwwroot/ $Backup_Dir3 –exclude=test
tar zcf /home/backup/www-$Backup_Dir4-$(date +”%Y%m%d”).tar.gz -C /home/wwwroot/ $Backup_Dir4

###上面为备份网站文件数据,因为我的网站比较零散,而且网站目录下面有些目录属于临时目录并不需要备份,所以可以在上面加上–exclude=不备份的目录。如果在前面加了Backup_Dir5=yourdir,则再加tar zcf /home/backup/www-$Backup_Dir5-$(date +”%Y%m%d”).tar.gz -C
/home/wwwroot/ $Backup_Dir5 。如果多余则删除多余行。

/usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name1 > /home/backup/db-$Backup_Database_Name1-$(date +”%Y%m%d”).sql
/usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name2 > /home/backup/db-$Backup_Database_Name2-$(date +”%Y%m%d”).sql
/usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name3 > /home/backup/db-$Backup_Database_Name3-$(date +”%Y%m%d”).sql
/usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name4 > /home/backup/db-$Backup_Database_Name4-$(date +”%Y%m%d”).sql

###上面为备份MySQL数据库,如果在前面加了Backup_Database_Name5=yourdatabasename,则再加/usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name5 > /home/backup/db-$Backup_Database_Name5-$(date +”%Y%m%d”).sql 。如果多余则删除多余行。

rm $OldWWWBackup
rm $OldDBBackup
###删除3天前的备份###

cd /home/backup/

###下面为自动上传部分,不得不说lftp很强大,抛弃ftp吧####
lftp $FTP_HostName -u $FTP_UserName,$FTP_PassWord << EOF
cd $FTP_BackupDir
mrm $OldWWWBackup
mrm $OldDBBackup
mput $TodayWWWBackup
mput $TodayDBBackup
bye
EOF

脚本下载地址:http://soft.vpser.net/lnmp/backup.sh

下载脚本,将脚本放到/root/ 下面,按上面的注释修改脚本中的参数,并保存,如果不熟悉vi或者nano编辑器,可以用winscp,执行:chmod +x /root/backup.sh 为脚本添加执行权限,执行:crontab -e 添加定时执行

在crontab中加入:0 3 * * * /root/backup.sh

凌晨3点自动执行/root/bakcup.sh 脚本,备份vps上的数据并上传到FTP上。

按照上面的方法完成了,第二天发现并没有完成备份,FTP以及VPS都没有备份文件。

首先,怀疑是计划任务没有完成,研究了半天的crontab文件,后来查看root mail发现其实计划任务已经执行了,确定是脚本问题。

#sh /root/backup.sh

返回失败,研究后发现脚本有几处需要错误。

1、tar压缩网站文件参数应该是czvf,即:

tar czvf /home/backup/www-$Backup_Dir1-$(date +”%Y%m%d”).tar.gz /home/wwwroot/$Backup_Dir1 –exclude=soft

注意后面的-C也要去掉,不知道问什么,只是用这个参数可以压缩成功

2、tar压缩文件的路径wwwroot/后面多了一个空格,要自行去掉

3、cd /home/backup/

应该在

rm $OldWWWBackup
rm $OldDBBackup

的前面,否则,删除不掉旧文件。

这样改了以后测试了一下,可以成功上传了。

另外,–exclude这个参数可以使用多次,去除多个不包含的目录或者文件,如:–exclude=test1 –exclude=test2/test3.txt –exclude=test4,详细的可以参考tar的命令参数。

如果文件名希望加上小时分钟秒的话格式是“%Y%m%d%H%M%S”

在此,感谢一下VPS侦探的VPS教程,现在终于不用担心数据丢失了。

希望这篇小文能够给像我一样的小白一些帮助。

转载请保留本文链接:http://blog.4gdm.com/web-tech/vps-godaddy-backup.html

发表在 技术备忘 | 一条评论

[转载] linux下crontab命令的使用技巧

在Linux中任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。
crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序。
cron服务是可以根据时间、日期、月份、星期的组合来调度对重复任务执行的守护进程。linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容。
crond服务通常被放在/etc/init.d/crond , 这样就可以在系统启动后自动启动crond服务。
linux中的用户使用crontab命令来配置cron任务.
crontab在/etc目录下面存在cron.d,cron.daily,cron.weekly,cron.monthly,cron.hourly五个目录和crontab文件。
cron.d是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面。
如果是按小时,按天,按星期,按月的来执行的话,则可以放到相应的目录下面去。
cron.hourly是每个小时执行一次的任务
cron.daily是每天执行一次的任务
cron.weekly是每个星期执行一次的任务
cron.monthly是每月执行一次的任务
Linux下的Crontab使用详解
crontab命令格式:
crontab [-u user] file
crontab [-u user] { -e | -l | -r }
-u 参数的详细说明:
如果使用该选项,就是指定了是某个具体用户的crontab文件将被修改。如果不指定该选项,crontab 将默认是当前操作用户的crontab ,也就是执行该crontab命令用户的crontab文件将被修改。
注意: 如果使用了su命令再运行crontab命令很可能就会出现混乱的情况,因此使用了su命令时,最好使用-u选项来指定究竟是哪个用户的crontab文件。
crontab常规使用方式 :
crontab [-u user] file -用指定的文件替代目前的crontab
crontab [-u user] -l -列出用户目前的crontab
crontab [-u user] -e -编辑用户目前的crontab
crontab [-u user] -r -删除某个用户的crontab
特别注意: 如果用crontab -r 就删除了所有的定时任务(需要特别小心)
crontab是通过读取一个crontab文件来工作,系统主配置文件是crontab, /etc/crontab 文件中的每一行都代表一项任务,crontab文件有六个域。
crontab文件的格式是:M H D m d cmd
每个域之间用空格或者Tab键分开,前五个域都是整数或者*,基本格式如下(括号里面是取值范围):
# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
f1 f2 f3 f4 f5 command
分 时 日 月 周 命令
f1 — 分钟,从 0 到 59 之间的任何整数
f2 — 小时,从 0 到 23 之间的任何整数
f3 — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
f4 — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
f5 — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
command — 表示要执行的任务(可以使运行linux系统命令,也可以是执行你自行编写的linux脚本命令。)
* 的作用:
星号(*)可以用来代表所有有效的值。比如:月份值中的星号,表示在满足其它制约条件后每月都执行该命令。
当 f1 为 * 时表示每分钟都要执行 command,f2 为 * 时表示每小时都要执行任务,其余类推
整数间的短线(-)的作用 :
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
整数间的正斜线(/)可以用来指定间隔频率:
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
整数间的逗号(,)的作用 :
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
crontab的常用例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
linux系统的WEB服务器管理员经常用到crontab的例子 :
#在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
#每晚的21:30重启apache。
30 21 * * * /etc/init.d/apache2 restart
#每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /etc/init.d/apache2 restart
#每周六、周日的1 : 10重启apache。
10 1 * * 6,0 /etc/init.d/apache2 restart
#在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0,30 18-23 * * * /etc/init.d/apache2 restart
#每星期六的11 : 00 pm重启apache。
0 23 * * 6 /etc/init.d/apache2 restart
#每一小时重启apache
* */1 * * * /etc/init.d/apache2 restart
#晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * /etc/init.d/apache2 restart
#每月的4号与每周一到周三的11点重启apache
0 11 4 * mon-wed /etc/init.d/apache2 restart
#1月1日的4点重启apache
0 4 1 jan * /etc/init.d/apache2 restart
本文来源于时光漂流瓶 http://www.9usb.net , 原文地址: http://www.9usb.net/201001/linux-crontab-mingling-jiqiao.html

发表在 技术备忘 | 留下评论

如何利用.htaccess做根域名转发跳转

看到一般网站都把如:4gdm.com转发到www.4gdm.com,于是今天准备把4gdm.com转发到www.a4gdm.com,在网上找了一会,发现godaddy域名转发后在国内访问不了,于是搜索godaddy域名转发方法,果然,用.htaccess可以实现转发,方法如下:
1、将4gdm.com解析到与www.4gdm.com相同的ip;(godaddy的NS默认4gdm.com与www.4gdm.com解析的ip相同)
2、新建.htaccess 文件,加入如下代码,保存后上传到网站上面;
代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.4gdm.com [NC]
RewriteRule ^(.*)$ http://www.4gdm.com/$1 [L,R=301]
在浏览器中输入4gdm.com,立刻跳转到www.4gdm.com,成功!
你的网站在做域名解析时,有没有设置不带www的域名?应该设置一个不带www的域名。这样,当用户使用不带www的域名时,可以正常访问你的网站。
但是我们经常碰到这样的情况,其他网站链接你的站点时,会用下面的链接:
www.example.com
example.com/
www.example.om/index.html
example.com/index.html
而这样导致:你站点主域名的pr值分散到其他几个URLs了。因为在搜索引擎看来,带www和不带www的URL是不同的两个URL,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个URL作为主要的。
如果你用301重定向把其他几个URL如example.com转到
www.example.com
PR也就集中在主域名:www.example.com 了。
虽然在google网站管理员中心中,可以google设定首选域名,而这个设置就是为一些人设置不了301的问题而准备的,设定首选域名和301是一样的效果,不过这仅仅对google有效。该设置301还是要设置的,毕竟是要对所有搜索引擎的。

Url转发与301重定向的区别

经过测试以后,发现URL转发、域名绑定、301永久重定向、302暂时性定向、meta 转发之间有不同的概念。
URL转发:分显性转发,隐性转发,如果做SEO,后者直接K掉。下面的URL转发一般指显性转发。
有一点说法是:URL转发不利于SEO,对PR没有传递,301对SEO很友好,可以传递PR 。但是有的URL转发测试返回的代码是301。下面会提到。
URL转发对已经存在网址统一重新转向新域名。而301重定向如果使用代码一般只针对首页有效,虽然htaccess可以达到目标,但win不支 持。最好的方法是有IIS控制台里的重定向(效果如何没测试),或者htaccess支持(使用正则表达式达到各路径的对应重定向,相当于替换域名)

至于301与302转向的区别

实施301后,新网址完全继承旧网址,旧网址的排名等完全清零。
实施302后,对旧网址没有影响,但新网址不会有排名。
302即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
meta fresh:其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

301重定向具体办法

1,设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)

使访问example.com/的时候就会自动转到www.example.com
在.htaccess文件里写上以下代码即可。
RewriteEngine on
RewriteCond %{http_host} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
注意:URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。

2,适用于使用Unix系统的用户

通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。
形如:Redirect 301 / http://www.example.com

3,适用于使用Windows系统的用户

在域名管理后台设置url转发,前面写上example.com 不带www的,后面框里写上www.example.com这种带www的域名,设置成显式转发。显式转发相当于301,隐式转发相当于302,比较危险。
不过值得一提的是,因为URL转发和301概念不同,所以并不是所有的显式转发都是301的(听说万网提供的url转发是302的),可以使用http://tool.alimama.com/tools.php 提供的网站Header信息查询工具查询example.com,如果返回代码有“HTTP/1.1 301 Moved Permanently”。恭喜,那就是301的。我的是新网,新网(xinnet)提供url显式转发是301的,我就使用了此方法。
如果你是万网,又是windows主机,那就用DNS别名解析吧。

4,用ASP/PHP实现301重定向:

ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.example.com/”
Response.End
PHP:
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location:http://www.example.com/”);
exit();
近日由于本站修改了固定链接,Google百度收录都出了问题。。。无奈在找301重定向的方法,这里是暂时找到的一些,希望对大家有用!

1.重定向4gdm.com到www.4gdm.com

这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.4gdm.com到4gdm.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^4gdm.com$ [NC]
RewriteRule ^(.*)$ http://www.4gdm.com/$1 [L,R=301]

2.重定向www.4gdm.com到4gdm.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.4gdm.com$ [NC]
RewriteRule ^(.*)$ http://4gdm.com/$1 [L,R=301]

3.重定向old4gdm.com到www.newa4gdm.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !old4gdm.com$ [NC]
RewriteRule ^(.*)$ http://www.new4gdm.com/$1 [L,R=301]

4.重定向old4gdm.com to new4gdm.com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !old4gdm.com$ [NC]
RewriteRule ^(.*)$ http://new4gdm.com/$1 [L,R=301]

5.重定向4gdm.com/file/file.php 到 other4gdm.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.4gdm.com$
RewriteRule ^file/file.php$ http://www.other4gdm.com/otherfile/other.php [R=301,L]
查看HTTP返回状态值
http://www.4gdm.org/getheader.htm
发表在 技术备忘 | 留下评论

如何删除mysql-bin.0000X 日志文件呢?

红色表示输入的命令.

[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
Enter password:  (输入密码)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 264001
Server version: 5.1.35-log Source distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> reset master; (清除日志文件)
Query OK, 0 rows affected (8.51 sec)

mysql>

好了,我们再来查看下mysql文件夹占用多少空间?

[root@jiucool var]# du -h –max-depth=1 /usr/local/mysql/
37M     /usr/local/mysql/var
70M     /usr/local/mysql/mysql-test
15M     /usr/local/mysql/lib
448K    /usr/local/mysql/include
2.9M    /usr/local/mysql/share
7.6M    /usr/local/mysql/libexec
17M     /usr/local/mysql/bin
11M     /usr/local/mysql/docs
2.9M    /usr/local/mysql/sql-bench
163M    /usr/local/mysql/

好了,看一下,整个mysql 目录才占用163M大小!OK,没问题,既然日志文件占用这么大空间,存在的意义又不是特别大,那么我们就不让它生成吧.

[root@jiucool var]# find / -name my.cnf

找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可.

# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin

重启下mysql吧.

OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦.

发表在 技术备忘 | 留下评论