首页 国内 国际 动漫资讯   财经 软件资讯 育儿资讯 女性话题   论坛 明星资讯 灯饰资讯 家居生活
休闲 读书心得 文化资讯 音乐资讯 消费 综艺频道 影视头条 汽车资讯 图片 电脑资讯 健康资讯 体育资讯
您当前位置:欧泉M网>>软件资讯

nginx rewrite 伪静态配置参数和使用例子

欧泉M网  2020-11-18 20:52:09
正则表达式匹配,其中:

* ~ 为区分大小写匹配

* ~* 为不区分大小写匹配

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

文件及目录匹配,其中:

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

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

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

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

flag标记有:

* last 相当于Apache里的[L]标记,表示完成rewrite

* break 终止匹配, 不再匹配后面的规则

* redirect 返回302临时重定向 地址栏会显示跳转后的地址

* permanent 返回301永久重定向 地址栏会显示跳转后的地址

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

复制代码 代码如下:

$args

$content_length

$content_type

$document_root

$document_uri

$host

$http_user_agent

$http_cookie

$limit_rate

$request_body_file

$request_method

$remote_addr

$remote_port

$remote_user

$request_filename

$request_uri

$query_string

$scheme

$server_protocol

$server_addr

$server_name

$server_port

$uri

结合QeePHP的例子

复制代码 代码如下:

if (!-d $request_filename) {

rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&controller=$1&action=$2&$3 last;

rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&controller=$1 last;

break;

多目录转成参数

复制代码 代码如下:

abc.domian.com/sort/2 => abc.domian.com/index.php?act=sort&name=abc&id=2

if ($host ~* (.*)\.domain\.com) {

set $sub_name $1;

rewrite ^/sort\/(\d+)\/?$ /index.php?act=sort&cid=$sub_name&id=$1 last;

}

目录对换

复制代码 代码如下:

/123456/xxxx -> /xxxx?id=123456

rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;

例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:

复制代码 代码如下:

if ($http_user_agent ~ MSIE) {

rewrite ^(.*)$ /nginx-ie/$1 break;

}

目录自动加“/”

复制代码 代码如下:

if (-d $request_filename){

rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;

}

禁止htaccess

复制代码 代码如下:

location ~/\.ht {

deny all;

}

禁止多个目录

复制代码 代码如下:

location ~ ^/(cron|templates)/ {

deny all;

break;

}

禁止以/data开头的文件

可以禁止/data/下多级目录下.log.txt等请求;

复制代码 代码如下:

location ~ ^/data {

deny all;

}

禁止单个目录

不能禁止.log.txt能请求

复制代码 代码如下:

location /searchword/cron/ {

deny all;

}

禁止单个文件

复制代码 代码如下:

location ~ /data/sql/data.sql {

deny all;

}

给favicon.ico和robots.txt设置过期时间;

这里为favicon.ico为99天,robots.txt为7天并不记录404错误日志
无人售货机 http://www.wurenshouhuoji.com
  • ·nginx rewrite 伪静态配置参数和使用例子
  • ·口袋妖怪go将实现电子游戏掌机上运行
  • ·支付宝怎么扫福娃 支付宝扫福娃有惊喜有什么福卡
  • ·JSP中如何取得MSSQL数据库表中自动增长的ID-主键值?
  • ·不,你不想是什么意思内涵出处【不,你不想表情包大全】
  • ·应用宝怎么root手机
  • ·iOS 10.3 Beta 1固件下载 iOS 10.3 Beta 1固件下载地址
  • ·香蜜沉沉烬如霜搜索下载教程
  • ·ADO如何使用Insert语法
  • ·微信卡群怎么办 微信不卡群怎么弄方法详解
  • Win10手机是这样使用Android和iOS应用的
    Win10手机是这样使用Android和iOS应用的
    watchOS 2.2 beta版发布 苹果手表watchOS 2.2系统更新内容
    watchOS 2.2 beta版发布 苹果手表watchOS 2.2系统更新内容
    推荐新闻
  • 情人节黄金红包 微信情人节黄金红包
  • 摩拜单车和高德地图合作,扫码就能开锁一键导航
  • 电脑dvd播放器下载
  • 腾讯愚人节策划:微信增加气味识别功能
  • Longhorn新花招亮相:能有效拦截蠕虫与木马
  • Win10无法识别us_b设备怎么办
  • 搜狗浏览器下面的热搜怎么去掉
  • win10cpu占用高怎么办 win10cpu占用率高解决办法
  • 宅男口水!B站定制版PS4来了:印2233娘
  • 一个来自五福红包产品经理的自白
  • 欧泉M网