Nginx Rewrite (常用伪静态规则)

WordPress:

location / {
index index.html index.php;
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;
}
}

WordPress在二级目录:

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

里面的wp改成你的二级目录名称

PHPCMS:

location / {
rewrite ^/caipu-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 last;
rewrite ^/content-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 last;
rewrite ^/list-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=lists&catid=$1&page=$2 last;
rewrite ^/tag-([^.]*)-([0-9]+)-([0-9]+).html /index.php?m=content&c=tag&catid=$2&tag=$1&page=$3 last;
rewrite ^/comment-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=comment&c=index&a=init&commentid=content_$1-$2-$3 last;
rewrite ^/([^.]*).html /index.php?m=member&c=index&a=$1 last;
}

ECSHOP:

if (!-e $request_filename)
{
rewrite "^/index.html" /index.php last;
rewrite "^/category$" /index.php last;
rewrite "^/feed-c([0-9]+).xml$" /feed.php?cat=$1 last;
rewrite "^/feed-b([0-9]+).xml$" /feed.php?brand=$1 last;
rewrite "^/feed.xml$" /feed.php last;
rewrite "^/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$" /category.php?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5&page=$6&sort=$7&order=$8 last;
rewrite "^/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)(.*).html$" /category.php?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5 last;
rewrite "^/category-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$" /category.php?id=$1&brand=$2&page=$3&sort=$4&order=$5 last;
rewrite "^/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*).html$" /category.php?id=$1&brand=$2&page=$3 last;
rewrite "^/category-([0-9]+)-b([0-9]+)(.*).html$" /category.php?id=$1&brand=$2 last;
rewrite "^/category-([0-9]+)(.*).html$" /category.php?id=$1 last;
rewrite "^/goods-([0-9]+)(.*).html" /goods.php?id=$1 last;
rewrite "^/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$" /article_cat.php?id=$1&page=$2&sort=$3&order=$4 last;
rewrite "^/article_cat-([0-9]+)-([0-9]+)(.*).html$" /article_cat.php?id=$1&page=$2 last;
rewrite "^/article_cat-([0-9]+)(.*).html$" /article_cat.php?id=$1 last;
rewrite "^/article-([0-9]+)(.*).html$" /article.php?id=$1 last;
rewrite "^/brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+).html" /brand.php?id=$1&cat=$2&page=$3&sort=$4&order=$5 last;
rewrite "^/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*).html" /brand.php?id=$1&cat=$2&page=$3 last;
rewrite "^/brand-([0-9]+)-c([0-9]+)(.*).html" /brand.php?id=$1&cat=$2 last;
rewrite "^/brand-([0-9]+)(.*).html" /brand.php?id=$1 last;
rewrite "^/tag-(.*).html" /search.php?keywords=$1 last;
rewrite "^/snatch-([0-9]+).html$" /snatch.php?id=$1 last;
rewrite "^/group_buy-([0-9]+).html$" /group_buy.php?act=view&id=$1 last;
rewrite "^/auction-([0-9]+).html$" /auction.php?act=view&id=$1 last;
rewrite "^/exchange-id([0-9]+)(.*).html$" /exchange.php?id=$1&act=view last;
rewrite "^/exchange-([0-9]+)-min([0-9]+)-max([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$" /exchange.php?cat_id=$1&integral_min=$2&integral_max=$3&page=$4&sort=$5&order=$6 last;
rewrite ^/exchange-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*).html$" /exchange.php?cat_id=$1&page=$2&sort=$3&order=$4 last;
rewrite "^/exchange-([0-9]+)-([0-9]+)(.*).html$" /exchange.php?cat_id=$1&page=$2 last;
rewrite "^/exchange-([0-9]+)(.*).html$" /exchange.php?cat_id=$1 last;
}

SHOPEX:

location / {
if (!-e $request_filename) {
rewrite ^/(.+.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php?$1 last;
}
}

SaBlog 2.0:(感谢追寻36[正冰]博客提供)

# 只带月份的归档
rewrite "^/date/([0-9]{6})/?([0-9]+)?/?$" /index.php?action=article&setdate=$1&page=$2 last;
# 无分类翻页
rewrite ^/page/([0-9]+)?/?$ /index.php?action=article&page=$1 last;
# 分类
rewrite ^/category/([0-9]+)/?([0-9]+)?/?$ /index.php?action=article&cid=$1&page=$2 last;
rewrite ^/category/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&curl=$1&page=$2 last;
# 归档、高级搜索
rewrite ^/(archives|search|article|links)/?$ /index.php?action=$1 last;
# 全部评论、标签列表、引用列表 带分页
rewrite ^/(comments|tagslist|trackbacks|article)/?([0-9]+)?/?$ /index.php?action=$1&page=$2 last;
# tags
rewrite ^/tag/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&item=$1&page=$2 last;
# 文章
rewrite ^/archives/([0-9]+)/?([0-9]+)?/?$ /index.php?action=show&id=$1&page=$2 last;
# RSS rewrite ^/rss/([0-9]+)?/?$ /rss.php?cid=$1 last;
rewrite ^/rss/([^/]+)/?$ /rss.php?url=$1 last;
# 用户 rewrite ^/uid/([0-9]+)/?([0-9]+)?/?$ /index.php?action=article&uid=$1&page=$2 last;
rewrite ^/user/([^/]+)/?([0-9]+)?/?$ /index.php?action=article&user=$1&page=$2 last;
# 地图文件
rewrite sitemap.xml sitemap.php last;
# 自定义链接
rewrite ^(.*)/([0-9a-zA-Z-_]+)/?([0-9]+)?/?$ $1/index.php?action=show&alias=$2&page=$3 last;

Discuz 7:

rewrite ^/archiver/((fid|tid)-[w-]+.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+).html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+).html$ /space.php?$1=$2 last;
rewrite ^/tag-(.+).html$ /tag.php?name=$1 last;

Discuz X:

location / {
rewrite ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^.]*)/([a-z]+)-(.+).html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {
return 404;
}
}

Typecho:

location / {
index index.html index.php;
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;
}
}

PHPWind:

location / {
rewrite ^(.*)-htm-(.*)$ $1.php?$2 last;
rewrite ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2 last;
}

DEDECMS:

location / {
rewrite "^/index.html$" /index.php last;
rewrite "^/list-([0-9]+).html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+).html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+).html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+).html$" /tags.php?/$1/$2/ last;
break;
}

用 USTC 替换 Google 字体加速

自从 Google 抽风之后,WordPress 默认的 Google 字体也就跟着抽风了,表现就是 blog 页面需要 “花很长时间才能打开”。之前我们通过修改 WordPress 源码的方式,将 Google Fonts “劫持” 到 LUG 搭建的代理,但 WordPress 主题升级之后修改就被覆盖了。LUG 对 WordPress 输出的内容进行文本替换,将 Google 字体 URL 强制替换为 LUG 搭建的代理。

技术细节:在 nginx 服务器上,把 WordPress 输出的 MIME type 为 text/html text/css text/javascript text/xml 的内容中的 URL 做如下字符串替换:

fonts.googleapis.com           fonts.lug.ustc.edu.cn
ajax.googleapis.com            ajax.lug.ustc.edu.cn
themes.googleusercontent.com   google-themes.lug.ustc.edu.cn
fonts.gstatic.com              fonts-gstatic.lug.ustc.edu.cn

原文链接:https://servers.ustclug.org/index.php/2014/07/ustc-blog-force-google-fonts-proxy/

WordPress 批量重新生成GUID

update twi_posts
set guid = concat(‘http://www.xiaokyun.com/?p=’,ID)
where post_status = ‘publish’
and post_type = ‘post’;

update twi_posts
set guid = concat(‘http://www.xiaokyun.com/?post_id=’,ID)
where post_status = ‘publish’
and post_type = ‘page’;

WordPress开启Gzip压缩的四种方法

WordPress开启gzip压缩的方法有四种,下面我们一一讲解其使用方法:
1. 在根目录 index.php 中找到:

define(’WP_USE_THEMES’, true);

在后面加上:

ob_start(‘ob_gzhandler’)

这种方法最简单,推荐使用,不过这种方法有个弊端,就是当wordpress系统升级后有得重新设置。
2. 如果服务器支持.htaccess文件,那么在wordpress根目录的.htaccess中添加以下代码然后上传到wordpress根目录即可,实现gzip压缩代码共有两种,详细代码如下如下,添加好之后上传到wordpress根目录来测试:

第一种:

php_value output_handler ob_gzhandler

第二种:

<ifmodule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
</ifmodule>
<ifmodule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
</ifmodule>

3. 通过php.ini 启用Gzip
如果服务器支持php.ini重定义的话,可以在php.ini中增加以下代码来开启gzip。

zlib.output_compression_level = number ( number为1—9的值,1的压缩比率最低, 建议取 5)

4. 安装wordpress gzip插件

需要注意的是如果在.htaccess文件中禁止了gzip功能的话,那在php.ini文件中开启后也需在.htaccess文件中开启 gzip,否则没有效果。开启wordpress的gzip功能后,服务器将在页面传输前将页面压缩后传送,可以有效减少服务器的带宽使用,也可以加速页 面下载。另外请注意只能选择一种方式来开启wordpress gzip压缩,否则有可能造成冲突。

原文:http://www.wpued.com/3814.html

隐藏WordPress后台版权信息和版本号

隐藏WordPress后台页脚版权信息和版本号虽然不是很实用,我想应该还是有人用的到的,特别是开发式的网站,将Wordpress后台页脚版权信息和版本号隐藏掉可以很好的保护网站的安全,隐藏版权信息和版本号方法很简单, 几行代码就可以轻松实现,具体代码如下:

function change_footer_admin () {return ‘Modify By Steve Jin’;}
add_filter(‘admin_footer_text’, ‘change_footer_admin’, 9999);
function change_footer_version() {return ‘&nbsp;’;}
add_filter( ‘update_footer’, ‘change_footer_version’, 9999);

简单吧,将这几行代码放到 wordpress主题的 functions.php文件内即可。

原文:http://www.wpued.com/6978.html