rewrite指令的作用:是做一些访问匹配规则的判断,从而实现相应的操作。
location / {
proxy_pass http://192.168.1.5
if (-d $request_filename) {
...........;
这里的意思是访问的如果是一个目录会做如何处理。
}
if ($host ~* ^www) {
proxy_pass http://192.168.1.2;
这里意思是访问的如果是以www开头的会做如何处理。
}
}
location /a {
root html;
index index.html;
rewrite ^/a(.*)$ http://10.18.42.156:80/forum$1;
}
注意rewrite是关键字,而且被访问的后端服务器中必须要有forum目录
$1变量等于/a 后面加的东西,用户在输入啥$1就是啥,网页必须放在forum下。
如果/a/b这样访问那么$1=/b,则后端服务器必须要有个/forum/b否则报404错误。
关于break知识点的应用:
这是一个关于重定向中使用break的意义;由于有些特殊情况会在替换访问路径时候出现如上述的反复匹配替换发生死循环的情况,那么我们可以在重定向的访问路径后面加一个break关键字,这样就解决了这种情况的发生。
location /test {
rewrite . /bbs/index.html last;
}
location /bbs {
rewrite . /bbs/2015/index.html break;
}
关于alias知识点的应用:
利用关键字alias可以做到如下:
location /qianfeng{
alias /var/www/web_site02;
}
这个意思是当你访问/qianfeng 的时候,会调转到/var/www/web_site02这个目录下的网页。
关于nginx中的防盗链技术的应用:
所谓的防盗链在实际生产中的应用场景是:当你的网站在被别人转载的时候有些信息是不可以让别人访问的时候我们就可以使用这种技术来实现。
一般都是防盗图片链接;具体实现方式如下;
location ~* .(gif|jpg|jpeg|png)$ {
valid_referers none blocked www.example.com example.com ;
if ($invalid_referer) {
return 403;
}
}
关于nginx中取消版本号的显示做法和nginx中防止访问页出现目录情况的做法:
这个是在主配置文件中的http上下文中加上一句指令即可:
/etc/nginx/nginx.conf
http {
server_tokens off; (去除版本号的显示)
}
location /qianfeng{
alias /var/www/web_site02;
autoindex off; (使网页中不会出现目录情况)
}
原文地址:http://blog.51cto.com/13575678/2092228