apache rewrite规则(RewriteCond,RewriteRule)

RewriteCond指令格式
语法: RewriteCond TestString CondPattern [flags]
RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。
1、 TestString是一个纯文本的字符串,除了包含普通的字符外,还可以包括下列的可扩展结构:
1)$N:RewriteRule后向引用,其中(0
cookie|CO=NAME:VAL:domain[:lifetime[:path]] (设置cookie)
它在客户端浏览器上设置一个cookie。 cookie的名称是NAME...

网页的自动刷新代码集合

自动刷新页面的实现方法总结:
1)
<meta http-equiv="refresh" content="10">
10表示间隔10秒刷新一次
2)
<script>
window.location.reload(true);
</script>
如果是你要刷新某一个iframe就把window给换成frame的名字或ID号
3)
<script>
window.navigate("本页面url");
</script>
4>
function abc()
{
window.location.href="/blog/window.location.href";
setTimeout("abc()",10000);
}
刷新本页:
Response.Write("<s...

nginx rewrite中last和break的区别

在实际配置中,有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
#location / {#proxy_pass http://test;#alias /data/web/;#root /data/web;#rewrite "^/a/(.*)\.html$" /1.html last;#}
在#location / { 配置里:
1、使用root指定源:使用last和break都可以
2、使用proxy_pass指定源:使用last和break都可以
3、使用alias指定源:必须使用last
在location /a/或使用正则的location ~ ^/a/里:
1、使用root指定源:使用last和break都可以

nginx防盗链配置,设置

以下配置一般可称为图片防盗链配置.
例一:
location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.xok.la xok.la ;
if ($invalid_referer) {return 403;}
}
例二:
location ~* \.(gif|jpg|png|swf|flv)$ {valid_referers none blocked xok.la www.xok.la;if ($invalid_referer) {rewrite ^/ http://www.xok.la/403.html;#return 404;}}
第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: xok.la www.xok.la
表示对 xok.la www.xok.la这2个来路进行判断
if{}里面内容...

CSS样式表中的行距定义

行与行之间的距离最常用的称呼是行距,而当网页设计者们发现他们能够控制行距时最常用的称呼是”Weee!”
行高
行高简直是上帝发给人间的福音。利用行高我们可以随心所欲地控制行与行之间的垂直距离。
B { line-height: 16pt }
你所用的参数就是相邻两行的基准线(基准线就是英文小写字母如x,a的下阶线,但不包括诸如y,g等字母超过下阶线的部分)之间的垂直距离。注意你所设定的参数将完全代替浏览器的缺省参数。
Netscape Communitor和Internet Explorer在行...

有关nginx的worker_processes参数

worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。
据实践表明,nginx的这个参数在一般情况下开4个或8个就可以了,再往上开的话优化不太大。据另一种说法是,nginx开启太多的进程,会影响主进程调度,所以占用的cpu会增高,这个说法我个人没有证实,估计他们是开了一两百个进程来对比的吧。
worker_processes配置的一些注意事项:
1、worker_cpu_affinity配置最好是能写上
我这里服务器多数是双核超线程,相...

强大的nginx反向代理异步传输模式

在nginx的反向代理介绍:
http://xok.la/2009/05/nginx_proxy_info.html
中,提到了异步传输模式并提到它可以减少后端连接数和压力,这是为何?
下面就来讲解下传统的代理(apache/squid)的同步传输和nginx的异步传输的差异。
看图:

squid同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是一直存在的。
nginx异步传输:浏览器发起请求,请求不会立刻转到后台,而是将请求数据(...

nginx proxy反向代理的强大功能介绍

nginx proxy是nginx的王牌功能,利用proxy基本可以实现一个完整的7层负载均衡,它有这些特色:
1、功能强大,性能超强,bug不多工作稳定。
2、后端转向与业务配置分离,非常灵活。
3、可以指定任意ip和端口进行配置,与网络环境是不相干的。
4、可以针对后端返回的情况判断,不正常则重新请求另一台主机,并自动剔除不正常的主机。
5、可以分配权重,并且分配均匀。
6、可以实现多种分配策略,可参考:http://xok.la/2009/05/nginx_upstream_diaodu_fenpai.html
7、可...

让nginx支持x_forwarded_for的ip方式

在架构中加装nginx常常会使服务取ip出现问题,让nginx直接支持x_forwarded_for是其中一种解决方案。
set $ip $http_x_forwarded_for;if ($ip ~ ^$ ){    set $ip $remote_addr;}proxy_set_header X-Forwarded-For "$ip, $server_addr";
用这段代码就可以让nginx支持标准的x_forwarded_for,在某些情况下,可以用:
proxy_set_header X-Forwarded-For "$ip";
不把nginx机器的ip地址加进去。
附:x_forwarded_for取ip的正确方式
x_forwarded_for是将请求路过的代理服务器的ip都记录下来的一条字符串,每经过...