nginx 的 rewrite

2018-10-18 10:18:45 阅读:2 编辑

实例

场景一:后台带有系统与分销商功能,要求给分销商的后台用独立域名使用。
1. nginx 独立配置一个 conf
rewrite ^/(?!admin|index|packages|upload|uploads|vendor|Web_assets)(.*)$ $scheme://$server_name/admin redirect;
注释
1. 把其它页面全部转为 admin
2. admin 前缀的不用转
3. index 前缀不用转,(这个不写的会出现一直重定向,因为受 try_files 的影响,会转为 /index.php?$query_string)
4. packages|upload|uploads|vendor|Web_assets 这几个是资源文件要排除,不然资源文件无法使用。
5. redirect 为 302 的临时重定向
场景二。phalcon 的 rewrite (从 apache 转 nginx), 主要原因在于多个一层 Web
rewrite ^/API/(.*) /API/Web/index.php?_url=/$1 last;
rewrite ^/weixin/assets/(.*) /weixin/Web/assets/$1 last;
rewrite ^/weixin/xpay/(.*) /weixin/Web/xpay/$1 last;
rewrite ^/weixin/res/(.*) /weixin/Web/res/$1 last;
rewrite ^/weixin/(.*) /weixin/Web/index.php?_url=/$1 last;
注释
1. 中间三个是资源文件。