Aug242016

更新CentOS系统时间的命令

作者: 主机迷 分类: Linux技术

同步时间

ntpdate us.pool.ntp.org

如果 ntpdate 命令没有安装

yum install -y ntpdate

设置时区为上海时区,也就是东八区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

最好还是使用软链接,例如设置时区为美国西部标准时间,即太平洋时间

ln -sf /usr/share/zoneinfo/US/Pacific /etc/localtime

Aug132016

Firefox 安装扩展时报 add-on could not be installed because it has not verified

作者: 主机迷 分类: 软件工具

解决办法

  1. 在 Firefox 地址栏中输入 about:config
  2. 搜索 xpinstall,在搜索结果中找到 xpinstall.signatures.required这个配置项,将其值由true改为false(通过双击的方式)

Aug112016

CentOS6使用tar jxvf解压tar.bz2文件报错bzip2: Cannot exec: No such file or directory

作者: 主机迷 分类: Linux技术

在CentOS6解压tar.bz2文件

tar jxvf test.tar.bz2

报以下错误

tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

解决办法

yum install bzip2
Aug032016

WordPress 自定义字段插件

作者: 主机迷 分类: WordPress

Advanced Custom Fields

下载地址:https://wordpress.org/plugins/advanced-custom-fields
安装启用后,在后台左边新增了一个菜单叫字段。
基本情况:

  1. 新建一个字段组,组里面新建1到 n 个字段,然后将字段组关联到POST上(这里的关联规则相当丰富)
  2. “选项”的“样式”设置有“无MetaBox”和“标准MetaBox”,没搞明白区别
  3. 修改文章时在文章编辑框下方就可以看到自定义的字段了,不需要输入字段名,这个比默认的自定义字段省事。
  4. 保存后数据会存放到wp_postmeta表,并没有在wp_posts表中新增字段
  5. 一篇文章的一个字段在wp_postmeta表中会对应两条记录,而且 key为中文,这个不太友好
  6. 使用后新建的字段会出现在 默认自定义字段的下拉列表里,而且一个字段在下拉列表里出现两项,一项是唯一 ID,另外一项是中文名,这就更不友好了,不光如此,发现还带来了position、layout、hide_on_screen、rule等字段。发现自定义字段的下拉列表的显示逻辑是wp_postmeta不以下划线开头的所有meta_key

select distinct meta_key from wp_postmeta t where t.meta_key not like '\_%' //下划线要转码

  1. Advanced Custom Fields是这样保存字段组基本信息的,在文章表中建立一条标题为字段组名字、内容为空的记录,该字段组的详细配置数据存放在wp_postmeta表,通过post_id关联。

参考:http://www.wpdaxue.com/advanced-custom-fields.html

Simple Fields

下载地址:https://wordpress.org/plugins/simple-fields/
安装启用后,设置菜单在后台的设置-Simple Fields
同样,保存后文章的数据会存放到wp_postmeta表,并没有在wp_posts表中新增字段。
基本情况:

  1. 新增字段组,增加字段。字段的基本属性就填两项就可以了,一个是 name,可以填中文,这个是在编辑文章时显示的字段名;另外一个是 slug,这个是前台获取该字段的值是使用的,这个 slug 名字可以随意修改(当然前台取值时要跟着修改),因为文章的字段在wp_postmeta表是以_simple_fields_fieldGroupID_1_fieldID_2_numInSet_0这样的方式命名的。
  2. 需要新建一个关联器,同时还需要设置文章的默认关联器才能生效。这个Simple Fields的关联规则不如Advanced Custom Fields强大,Simple Fields只能对Posts、Pages、Media这3种类型进行设置。
  3. 使用Simple Fields创建的字段不会出现在自带自定义字段的下拉列表里,这个地方要比Advanced Custom Fields
  4. 假定使用插件自定义的字段数量为 n,目测使用wp_postmeta后文章在wp_postmeta表中的自定义数据的字段个数是 n+3;而Advanced Custom Fields是 2n
  5. Simple Fields的自定义字段的值允许为空
  6. 修改某篇文章的自定义字段时,Simple Fields的处理逻辑是先全部删除再全部重建
  7. 在前台取值的用法

    // To get values from a field simple use the function simple_fields_value() like this:
    $field_value = simple_fields_value("slug_of_field");
    // You can even pass meny slugs to retrieve array of values:
    $field_value = simple_fields_value("slug_of_field1, another_slug, and_a_third_slug");

  8. 弊端:不像自带的自定义字段,不管填不填写,这个每篇文章都会在wp_postmeta表增加数据,如果文章多,会造成wp_postmeta表迅速膨胀。

参考:
http://simple-fields.com/documentation/getting-started/tutorial/

Smart Custom Fields

下载地址:https://srd.wordpress.org/plugins/smart-custom-fields/

  1. 创建的字段组必选关联文章类型例如POST才能生效,在右下角勾选文章类型
  2. 字段组配置信息的保存方式和Advanced Custom Fields类似,都是在 wp_posts 文章表中建立一条标题为字段组名字、内容为空的记录,该字段组的详细配置数据存放在wp_postmeta表,通过post_id关联
  3. 会导致 wp 默认自定义字段的下拉列表中出现smart-cf-setting、smart-cf-condition-post-ids、smart-cf-condition等字段
  4. 文章自定义字段wp_postmeta表中的 key 是按字段的实际名字保存的,因此字段名字不能像Simple Fields那样可以随意修改

参考:
https://www.imd-net.com/blog/2014/12/15-210937/

综合结论

Simple Fields不会污染 WordPress 自带自定义字段下拉菜单,且在 wp_postmeta 表的数据比Advanced Custom Fields少一半,还可以随意修改字段名字而不会影响已有数据,另外考虑到Simple Fields对我来说功能够用,暂时不需要Advanced Custom Fields那么强大的自定义功能,Smart Custom Fields既没有Advanced Custom Fields功能强大,又不具备Simple Fields的优点,因此Simple Fields是我的首选。

Aug032016

网站临时关闭时如何防止被K

作者: 主机迷 分类: SEO

1.创建一个文件503.php,把它放到服务器根目录

<?php

header("HTTP/1.1 503 Service Temporarily Unavailable");

header("Status: 503 Service Temporarily Unavailable");

header('Retry-After: Sat, 8 Oct 2012 18:27:00 GMT");

?>

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>网站名称</title>

</head>

<body>

<h1>网站名称</h1>

<p>网站维护中</p>

<p>将于2012/10/8恢复</p>

</body>

</html>

第一二句告知搜索蜘蛛网站处理暂时关闭状态,第三句告知搜索蜘蛛,网站将于2012年10月8日18:27从新开放,注意:这里用的是格林威治标准时间。

但是光放一个503信息到服务器里还是不够的,蜘蛛会访问网站不同的页面,因此我们必须引导所有的蜘蛛到503.php这个页面,让蜘蛛知道,整个网站处于临时关闭中,而不是个别页面。

如果站长使用的是Apache/Linux服务器,我们只需在.htaccess设置一下,引导所有的蜘蛛到505.php页面,这里我们要使用302跳转,注意:在这里千万不要使用301跳转,因为301是永久的,在这种情况下会毁灭掉整个网站。

2.引导蜘蛛到503.php

将下面这段代码保存到.htaccess文件,并上传到网站根目录

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{REMOTE_ADDR} !^00\.00\.00.\.00

RewriteCond %{REQUEST_URI}!^/503.php [NC]

RewriteRule ,* /503.php [R,L]

最后一行的[R, 告知蜘蛛,这个是302跳转,属于暂时的。

转自https://www.pastdust.com/wang-zhan-lin-shi-guan-bi-bi-mian-bei-K-de-fang-fa/


主机迷 is powered by Typecho