二级目录隐藏 index.php 路径

nginx_rewrite 规则介绍

rewrite 使用 nginx 提供的全局变量和自己设置的变量,结合正则表达式和标志位 实现 url 重写以及重定位。

rewrite 只能放在 server{},location{},if{} 中使用,并且只能对域名后边的除去传递的参数外的字符串起作用,例如 http://domain.com/shop/goods/index.php?id=1&u=str 只能对 /shop/goods/index.php 重写。

rewrite 语法规则: rewrite regex replacement [flag]; // rewrite 正则表达式 替换文本;

隐藏 index.php 路径

示例代码

location / {
    index  index.html index.htm index.php;  

    if (!-e $request_filename) { # 如果文件或文件夹不存在则重写
        rewrite ^/(.*)$ /index.php?$1 last;
        break;
    }
}

继续阅读

cURL 的使用

curl 模拟浏览器请求,比如获取远程浏览器内容,虽然可以用file_get-contents来代替,但curl还支持浏览器类型,cookie和来源ip等,功能相比强大

常用相关函数:

  • curl_init() 初始化curl会话
  • curl_setopt() 设置curl传输选项
  • curl_exec 执行curl会话
  • curl_errno 返回最后一次的错误代码
  • curl_error 返回当前会话嘴周一次错误的字符串
  • curl_close 关闭curl会话
  • 继续阅读

    一些常用的正则匹配规则

    常用元字符

    • \b 正则中的特殊代码,元字符.代表着单词的开头或结尾,也就是单词的分界处,它只匹配一个位置。对于hi,him,history,high,我们需要精确查找hi这个单词,我们应该使用\bhi\b
    • . 匹配除了换行符以外的任意字符
    • * 指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
    • .* 连在一起,表示任意数量的不包含换行的字符.例子:hi后面不远处跟着一个Lucy应该用\bhi\b.*\bLucy\b,表示先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。
    • \d 匹配一位数字(0,或1,或2,或……)
    • – 不是元字符,只匹配它本身
    • \s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等
    • \w 匹配字母或数字或下划线或汉字等

    继续阅读