zoukankan      html  css  js  c++  java
  • Nginx重定向[Rewrite]配置 for wordpress & Discuz

    首先Apache的Rewite规则差别不是很大,但是Nginx的Rewrite规则比Apache的简单灵活多了
    Nginx可以用if进行条件匹配,语法规则类似C
    if ($http_user_agent ~ MSIE) {
    rewrite ^(.*)$ /msie/$1 break;
    }
        Rewrite的Flags
        last - 基本上都用这个Flag。
        break - 中止Rewirte,不在继续匹配
        redirect - 返回临时重定向的HTTP状态302
        permanent - 返回永久重定向的HTTP状态301
        Wordpress的重定向规则:
    if (!-e $request_filename) {
    rewrite ^/(index|atom|rsd).xml$ 
    http://feed.shunz.net
    last;
    rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
    rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;
    rewrite ^ /index.php last;
    }
        以下为Discuz完整的Rewrite for Nginx规则
    if (!-f $request_filename) {
    rewrite ^/archiver/((fid|tid)-[w-]+.html)$ /archiver/index.php?$1 last;
    rewrite ^/forum-([0-9]+)-([0-9]+).html$ /forumdisplay.php?fid=$1&page=$2 last;
    rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
    rewrite ^/space-(username|uid)-(.+).html$ /space.php?$1=$2 last;rewrite ^/tag-(.+).html$ /tag.php?name=$1 last;
    }
        正则正则表达式匹配注解
    ~ 为区分大小写匹配
    ~* 为不区分大小写匹配
    !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
    2、文件及目录匹配,其中:
    -f和!-f用来判断是否存在文件
    -d和!-d用来判断是否存在目录
    -e和!-e用来判断是否存在文件或目录
    -x和!-x用来判断文件是否可执行

  • 相关阅读:
    GIT提交修改的项目到远程仓库
    MySQL基础知识总结
    IDEA集成码云gitee
    SpringBoot整合ueditor编辑器
    word2010中统一调整表格格式
    Afinal简介和使用方法
    Java 8 安装——使用华为镜像
    微信小程序调用第三方组件
    webpack-dev-server first try
    性能测试应用领域
  • 原文地址:https://www.cnblogs.com/hechunhua/p/3300838.html
Copyright © 2011-2022 走看看