WordPress

WordPress在Nginx中启用Apache的mod_rewrite

其实不是真的可以另到 Nginx 支持 Apache 的 mod_rewrite 的.因为如果你的web服务器是 Nginx ,那么你的 WordPress 就会提示你的服务器环境不支持 mod_rewrite 了,但实际上是支持的,例如安装了 WP Super Cache 这插件就有这样的提示了,现在我们只要添加一行代码就可以关闭这个提示,欺骗WordPress ,让它认为是支持 mod_rewrite 方法是在主题的 functions.php 文件添加下面的代码:

另外,因为Nginx运行PHP是用PHP-FPM的,所以有时会导致WordPress认为php没有写权限,表现为无法自动升级,和升级插件等,下面这个代码可以修改这个错误.

关闭 WordPress 3.1 的管理工具条

升级到 WordPress 3.1 ,感觉没有什么两样,唯一无法忍受的就是它的管理工具条.所以要干掉它.方法是在后台用户资料哪里选择隐藏它就OK了.

或者在主题的functions.php文件添加一行代码:

这样那个管理工具条就消失了..

WordPress首页不显示某些分类的文章

WordPress首页不显示某些分类的文章代码如下:
在index.php里查找

< ?php if (have_posts()) : ?>

在之前加入以下代码就OK了

< ?php //只显示某分类的文章 $cat_id='1,2';//the category ID //不显示某些分类的话 这样写 //$cat_id='-3,-4';//the category ID $limit = get_option('posts_per_page'); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('cat=' . $cat_id . '&showposts=' . $limit . '&paged=' . $paged); $wp_query->is_archive = true; $wp_query->is_home = false;
?>

修改Google Sitemaps 支持 Wordress 3.0

我很早就升级到Wordpress 3.0,一直在测试着插件的兼容性,发现Wordpress 3.0还是兼容大部分插件的.但是当我启动了Wordpress 3.0的多站点功能的时,发现Google XML Sitemaps Generator这个插件不支持Wordpress 3.0,只要是生成的sitemap.xml路径不对了,Wordpress 3.0 多站点功能是不能将文件生成在根目录的,而是以这种形式存在的:http://imcat.in/files/sitemap.xml

那么只要简单的改修下Google XML Sitemaps 就可以让它支持Wordpress 3.0了.

首先打开sitemap-core.php文件,找到类似function GetXmlUrl($forceAuto=false) 的,修改为:
(more…)

nginx 下的 wordpress 3.0 rewrite规则

wordpress 3.0已经出到beta2了,我是版本爱好者,所以早就升级到3.0了,并且也启用多站点功能,但由于我用的web环境是nginx,所以要更新下 wordpress 3.0 rewrite的规则,如下:
#on server block
##necessary if using a multi-site plugin
server_name_in_redirect off;
##necessary if running Nginx behind a reverse-proxy
port_in_redirect off;

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*.php)$ $1 last;
rewrite ^ /index.php last;
}

已经测试通过了

nginx 的 wordpress rewrite 和WP Super Cache rewrite规则

wordpress.conf

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;
}

supercache.conf


location /
{
autoindex off;
gzip_static on;

set $wp_super_cache_file '';
set $wp_super_cache_uri $request_uri;

if ( $request_method = POST )
{
set $wp_super_cache_uri '';
}

if ( $query_string )
{
set $wp_super_cache_uri '';
}

if ( $http_cookie ~* "comment_author_|wordpress|wp-postpass_" )
{
set $wp_super_cache_uri '';
}

if ( $wp_super_cache_uri ~ ^(.+)$ )
{
set $wp_super_cache_file /wp-content/cache/wp_super_cache/$http_host/$1index.html;
}

if ( -f $document_root$wp_super_cache_file )
{
rewrite ^(.*)$ $wp_super_cache_file break;
}

if (-f $request_filename)
{
expires 30d;
break;
}

if (!-e $request_filename)
{
rewrite ^(.+)$ /index.php?q=$1 last;
}
}

猫言猫语 © 2007-2014 Frontier Theme