WordPress在Nginx环境下配置伪静态

最近服务器流量暴增,服务器的Apache进程出现进程不断增长而出现进程不能及时杀死释放内存的问题,由pre-fork模式更改为worker模式也不能起到明显效果。
最后只能将Wordpress博客整体由LAMP切换到LEMP环境,访问正常后,发现Nginx环境下的伪静态设置与Apache的.htaccess设置方式略有不同,在此记录一下。

Apache环境下使用.htaccess实现Wordpress的通用伪静态效果

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Nginx环境下需要做如下重写,适用于wordpress

location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}

Google AdSense发布商违规行为报告邮件的详解

前几天收到来自Google AdSense的邮件,是关于 AdSense 发布商违规行为报告 帐号:pub-66262xxxxxx的违规

但是打开后,却没看到对应的违反合作规范的提示:

目前看起来貌似是:
Google Adsense-》设置-》政策中心-》网页 Continue reading "Google AdSense发布商违规行为报告邮件的详解"

彻底关闭WordPress自动更新和后台更新检查

WordPress更新服务器在国外,每次打开后台都会自动更新检测和自动更新功能,而国内的网络由于总总原因总是无法顺畅得连接上 WordPress 的更新服务器,所以一直卡在那里,造成 WordPress 后台非常慢!

在当前主题的 functions.php 文件添加如下代码,就可以彻底关闭 WordPress 自动更新和后台更新检查,这样更新的时候,就要手动来更新了,比如使用 SSH 安装,升级和迁移 WordPress 博客。

注:部分代码在4.8.1版本中失效。

// 彻底关闭自动更新
add_filter('automatic_updater_disabled', '__return_true');

// 关闭更新检查定时作业
remove_action('init', 'wp_schedule_update_checks');

// 移除已有的版本检查定时作业
wp_clear_scheduled_hook('wp_version_check');

// 移除已有的插件更 Continue reading "彻底关闭WordPress自动更新和后台更新检查"

WordPress 4.8日志ID不连续的解决办法(关闭自动保存、自动草稿和禁用文章修订版)

WordPress的版本修订历史(revision)、自动保存(autosave)等功能会造成文章的ID不连续 ,让我们这些有强迫症的人感到非常不舒服。
禁用 WordPress 文章修订历史和自动保存功能呢?

修改根目录下的wp-config.php文件,在 define(‘WP_DEBUG’, false); 后边添加如下代码:

define( 'AUTOSAVE_INTERVAL', false );
define('WP_POST_REVISIONS', false);

另外,自动草稿(auto-draft)也会造成ID不连续,因此在当前使用主题的 functions.php 文件中添加以下代码:

/* 取消自动保存和修订版本 */
remove_action('pre_post_update', 'wp_save_post_revision');
add_action('wp_print_scripts', 'disable_autosave');
function disable_autosave() {wp_deregister_script('autosave');}

禁止WordPress 4.8版本自动将英文半角符号转换成全角符号

WordPress自动将英文半角符号转换成全角符号是因为WordPress的一个函数wptexturize()在作怪,既然如此,那就移除它。将下面的代码加入主题的模板函数funtions.php文件中,注意是加在最后一个 ?>之前:

//取消内容转义
remove_filter('the_content', 'wptexturize');
//取消摘要转义
remove_filter('the_excerpt', 'wptexturize');
//取消评论转义
remove_filter('comment_text', 'wptexturize');

至此,我已经完美解决了禁止WordPress自动将英文半角符号转换成全角符号这个问题了!

WordPress页面链接添加.html后缀

默认WordPress页面不能实现伪静态链接,比如:http://zmingcx.com/begin.html,手动在链接中添加“.html”,会自动转码为"-html",但万能的WordPress,你能想到的功能都会有相应的插件帮你实现。

将下面代码添加主题functions.php中即可。

// 页面链接添加html后缀
add_action('init', 'html_page_permalink', -1);
function html_page_permalink() {
global $wp_rewrite;
if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){
$wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
}
}

添加后,需要到固定链接设置页 Continue reading "WordPress页面链接添加.html后缀"

WordPress登录框显示/隐藏输入的密码

现在,我们还有另外一种选择,直接让用户自行根据需要选择是全部隐藏输入的密码,还是全部显示输入的密码。在全部显示密码框的内容时,用户输错的可能性就大大降低,这也是微软推荐的一种密码框处理方式。效果如下:

今天,我将给大家介绍,在WordPress中如何实现这个的功能,步骤非常 Continue reading "WordPress登录框显示/隐藏输入的密码"

WordPress 4.2.1中Gravatar评论头像不显示的解决办法

Gravatar头像出现无法加载的问题,不仅致使wordpress站点的用户头像无法正常显示,还对网页加载速度及后台操作速度造成了影响。之前Pop已经提供了一种方法解决(WordPress中gravatar评论头像不显示的解决办法http://429006.com/article/technology/3541.htm),不过针对最新的WordPress 4.2.1版本中/wp-includes/pluggable.php这个文件已经对代码进行了调整,所以之前分享的代码只能对4.2.1以下版本有效。这里Gravatar头像无法加载显示的解决办法是利用functions.php的修改方法,就可以一劳永逸了。

一、利用多说Gravatar头像中转服务器替代头像默认服务器。

添加如下代码到wordpress主题的functions.php模板文 Continue reading "WordPress 4.2.1中Gravatar评论头像不显示的解决办法"

WordPress发布紧急安全更新4.2.1 解决0day漏洞

根据外媒报道,流行博客程序WordPress4.2存在Oday漏洞,该漏洞可导致攻击者使用跨站攻击,从而控制网站。此漏洞被报告2个小时后,官方紧急发布了4.2.1安全更新,补上了此漏洞。

根据安全公司的报告,此次发现的漏洞一共有2个,为XSS跨站攻击漏洞。漏洞允许攻击者将代码插入到网站的 HTML内容。通过将恶意代码嵌入到博客的底部或文章后默认显示评论的部分,攻击者可以更改密码、 添加新管理员,执行任何其他管理员能执行的操作。安全公司公布了攻击演示代码和视频。

WordPress 4.1.1 日志ID不连续的解决办法(关闭自动保存、自动草稿和禁用文章修订版)

Pop:这个是一个老问题了,这个方法可以使4.1.1最新版的WordPress的ID进行连续。

原理是获取最早一条自动草稿作为当前文章使用,如此可以实现在原有自动草稿功能基础上保持文章ID连续,并去除了删除7天前自动草稿的功能。

1、打开 wp-config.php 文件,在 $table_prefix = 'wp_'; 前面添加如下代码(注意,一定是 $table_prefix = 'wp_'; 这行的前面):

define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', 86400);

2、找到并打开 wp-admin\post-new.php 这个文件,将其 wp_enqueue_script( 'autosave' ); 注释或删除掉

//wp_enqueue_script( 'autosave' );

3、找到并打开 wp-admin\post.php 这个 Continue reading "WordPress 4.1.1 日志ID不连续的解决办法(关闭自动保存、自动草稿和禁用文章修订版)"