php判断文本不存在,nginx 判断访问文件或目录不存在rewrite

文件及目录匹配,其中:

* -f和!-f用来判断是否存在文件

* -d和!-d用来判断是否存在目录

* -e和!-e用来判断是否存在文件或目录

* -x和!-x用来判断文件是否可执行

样例 : 判断访问的图片是否存在,不存在跳转到另外的域名

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|thumb) {

root /data/wwwroot/bbs.xxx.com;

expires 10d;

if (!-e $request_filename) {

rewrite ^/data/attachment/forum/(.*)$ http://img.xxx.com/forum/$1 permanent;

}

}

这里会遇到一个问题:

nginx中重写rewrite的语法错误[emerg] unknown directive “if($host!=”

Nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的写法是:

if ( $host != 'www.0xcafebaby.com' ){

rewrite ^(.*)$ http://www.0xcafebaby.com$1 permanent;

}

用^代替空格看起来更清晰:

if^(^$host^!=^'www.0xcafebaby.com'^){

反正多打几个空格就是了,所以nginx中的中文配置文件解释可参考:Nginx配置文件中文注释详解  如果想了解更多nginx的rewrite配置,可参考:nginx rewrite 的 参数大全

apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下:

nodejs获取文件信息,判断是文件或目录

var stat = fs.statSync(filename); console.log(stat) 输出 { dev: 0, ino: 0, mode: 33206, nlink: 1, uid: ...

File操作,访问文件或目录的属性信息

package seday03; import java.io.File;//记得导入File /** * File的每一个实例用于表示文件系统中的一个文件或目录 * 使用File可以: *  1:访 ...

Java基础之访问文件与目录——测试文件或目录的路径(TryPath)

控制台程序,测试文件或目录的路径. import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.FileSy ...

apache禁止访问文件或目录执行权限、禁止运行脚本PHP文件的设置方法

ErrorDocument 404 /404/404.h ...

iOS - 沙盒中,如何判断存在文件、目录

在iOS开发中,在沙盒中创建沙盒一些存储各个功能的文件目录或者文件. 使用: [NSFileManager defaultManager] 1.判断目录,用她可以. 2.判断文件,用她可以. 3.创建 ...

nginx实现访问网站或目录密码认证保护

添加目录登陆认证 location / { auth_basic "提示"; auth_basic_user_file /usr/conf/htpasswd; } auth_bas ...

Java基础之访问文件与目录——移动或复制文件和目录(MoveAndCopyFiles)

控制台程序,创建和删除目录以及复制和移动文件. import java.nio.file.*; import java.nio.file.attribute.*; import java.io.IOE ...

Java基础之访问文件与目录——列出目录内容(ListDirectoryContents)

控制台程序,列出目录的全部内容并使用过滤器来选择特定的条目. import java.nio.file.*; import java.io.IOException; public class List ...

随机推荐

XML技术的应用

XML技术的发展历史:gml--->sml--->html--->xml(可扩展标记语言). HTML和XML技术的区别: 1.HTML技术的标签不能自己定义,必须使用规定语法编写: ...

神奇的CSS3按钮特效

点击这里查看效果 以下是源代码:

&lt ...

自动化-Appium

1.手把手教你 Android 标准 APP 的四大自动化测试法宝:https://testerhome.com/topics/5846 2.中文 Appium API 文档:https://test ...

jQuery设置disabled属性

先比较下readOnly和disabled: readOnly 只针对input(text/ password)和textarea有效: disabled 对于所有的表单元素都有效,包括select, ...

mybaties 查询 语句正确 但是查不到结果

控制台输出的语句拿到数据库查询就有数据,但是一直显示不出来  也不报错 后来  百度发现数据库连接不对  因为其中引用了两个数据库 所有写混了   ---------------------- ...

JS+JQ手风琴效果

最新在学习JS写一些实用的小玩意——手风琴 CSS样式:

关于Depth Bounds Test (DBT)和在CE3的运用

Depth Bounds Test (DBT) Depth Bounds Test(深度范围检测),是Nvdia GeForce 6系列以后显卡的特性(GPU Programming Guide Ge ...

WPF——控件之间的绑定

一.启动窗口 二.控件绑定(注意看光标的位置,一个是单向绑定,一个是双向绑定) 注意看单向绑定与双向绑定的绑定方法:

CSS 专业技巧

使用CSS复位 CSS复位可以在不同的浏览器上保持一致的样式风格.您可以使用CSS reset 库Normalize等,也可以使用一个更简化的复位方法: * { box-sizing: border- ...

Node.js 安装配置介绍

Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v6.10.1 LTS(长期支持版本)版本为例. Node.js安装 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值