日志标签:rewrite

Nginx的rewrite之shopex

分类:技术相关评论:0条作者:邋遢猪仔日期:2010-07-24

规则很简单,只有三行。

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

其实起作用的就只是蓝色的那一行。

wordpress的404错误太消资源

分类:技术相关评论:3条作者:邋遢猪仔日期:2010-07-22

一直以来,小张的linux服务器都是我在维护,不过近段时间衡天小张在美国的服务器非常不稳定,原来只是随意的处理了下下,负载降下来了就没再去管,因为最近的事情比较多比较烦,所以也没太多的精力去查是怎么回事。

昨天晚上在San Jose的那台服务器的五分钟负载居然越过了100,把我惹毛了,下定决定要把这个事情解决好,于是查apache请求状态以及分析访问日志,查出的结果很让人吃惊,是wodpress的404页面引起的高负载。

或许,一两个404错误倒没什么,不可能引起这么高的负载。但我们这样打个比方来计算,在安装了wp-super-cache插件的情况下,正常页面访问需要1个CPU单位时间,内存10M,404页面需要消耗的CPU单位时间根据所安装的插件的情况不同,可能需要20个甚至更多,内存30M甚至更多。也就是说wordpress的404消耗的资源是正常访问的20倍以上,从整台服务器来看,高并发wordpress的404可能会导致服务器完全崩溃。所以我得出一个结论,wordpress的404页面成了资源杀手。 继续阅读…

301重定向代码

分类:技术相关评论:0条作者:邋遢猪仔日期:2010-07-09

apache的301重定向:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.newphp\.net$
RewriteRule ^(.*)$ http://www.newphp.net/$1

Nginx的301重定向

if ($host != 'www.newphp.net' ) {
    rewrite ^/(.*)$ http://www.newphp.net/$1 permanent;
}

Tags: , , ,

nginx的rewrite 一些参数和例子

分类:技术相关评论:0条作者:邋遢猪仔日期:2010-07-07

* -f和!-f用来判断是否存在文件 
* -d和!-d用来判断是否存在目录 
* -e和!-e用来判断是否存在文件或目录 
* -x和!-x用来判断文件是否可执行

正则表达式匹配,其中:

* ~ 为区分大小写匹配 
* ~* 为不区分大小写匹配 
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配

flag标记有:

* last 相当于Apache里的[L]标记,表示完成rewrite 
* break 终止匹配, 不再匹配后面的规则 
* redirect 返回302临时重定向 地址栏会显示跳转后的地址 
* permanent 返回301永久重定向 地址栏会显示跳转后的地址

一些可用的全局变量有,可以用做条件判断(待补全) 继续阅读…

Tags: ,

DiscuzX伪静态规则for Nginx

分类:技术相关评论:0条作者:邋遢猪仔日期:2010-07-07

location / {
        rewrite ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
        rewrite ^(.*)/article-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2 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;
}

Tags: ,