• 常用的nginx rewrite重写规则


    本文提供一些常用的rewrite重写规则,用来美化网页的链接。规则里面的$1$2你不知道是怎么来的话,只要记住,第一个()里面的是$1,第二个()里面的是$2.
    请求的URL是给人看的,重写后的URL是给电脑看的。

    执行搜索

    这个规则的目的是为了执行搜索,搜索URL中包含的关键字。

    请求的URL    //hqidi.com/search/some-search-keywords
    重写后URL    //hqidi.com/search.php?p=some-search-keywords
    重写规则            rewrite ^/search/(.*)$ /search.php?p=$1?;

    用户个人资料页面

    大多数运行访问者注册的动态网站都提供一个可以查看个人资料的页面,这个页面的URL包含用户的UID和用户名

    请求的URL    //hqidi.com/user/47/dige
    重写后URL    //hqidi.com/user.php?id=47&name=dige
    重写规则            rewrite ^/user/([0-9]+)/(.+)$ /user.php?id=$1&name=$2?;

    多个参数

    有些网站对字符串参数使用不同的语法,例如 通过斜线“/”来分隔非命名参数

    请求的URL    //hqidi.com/index.php/param1/param2/param3
    重写后URL    //hqidi.com/index.php?p1=param1&p2=param2&p3=param3
    重写规则            rewrite ^/index.php/(.*)/(.*)/(.*)$ /index.php?p1=$1&p2=$2&p3=$3?;

    类似百科的格式

    这种格式特点,一个前缀目录,后跟文章名称

    请求的URL	//hqidi.com/wiki/some-keywords
    重写后URL	//hqidi.com/wiki/index.php?title=some-keywords
    重写规则	        rewrite ^/wiki/(.*)$ /wiki/index.php?title=$1?;

    论坛

    论坛一般用到两个参数,一个话题标识(topic)一个出发点(starting post)

    请求的URL    //hqidi.com/topic-1234-50-some-keywords.html
    重写后URL    //hqidi.com/viewtopic.php?topic=1234&start=50
    重写规则            rewrite ^/topic-([0-9]+)-([0-9]+)-(.*).html$ viewtopic.php?topic=$1&start=$2?;

    新网站的文章

    这种URL结构的特点,由一个文章标识符,后跟一个斜线,和一个关键字列表组成。

    请求的URL    //hqidi.com/88/future
    重写后URL    //hqidi.com/atricle.php?id=88
    重写规则            rewrite ^/([0-9]+)/.*$ /aticle.php?id=$1?;

    最后一个问号

    若被替换的URI中含有参数(类似/app/test.php?id=5之类的URI),默认情况下参数会被自动附加到替换串上,可以通过在替换串的末尾加上?标记来解决这一问题。

    rewrite ^/users/(.*)$ /show?user=$1? last;

    比较一个加上?标记和不加?标记的URL跳转区别:

    rewrite ^/test(.*)$ //hqidi.com/home premanent;

    访问//hqidi.com/test?id=5 经过301跳转后的URL地址为 //hqidi.com/home?id=5

    rewrite ^/test(.*)$ //hqidi.com/home? premanent;

    访问//hqidi.com/test?id=5 经过301跳转后的URL地址为 //hqidi.com/home

  • 相关阅读:
    opencv掩模操作
    cvtColor()学习
    opencv中mat类介绍
    c++中的stl
    opencv3中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher的使用
    CUDA学习
    visual studio + opencv + contrib
    11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
    11.10/11.11/11.12 安装PHP5 11.13 安装PHP7
    11.6 MariaDB安装 11.7/11.8/11.9 Apache安装
  • 原文地址:https://www.cnblogs.com/ouruola863/p/9887918.html
Copyright © 2020-2023  润新知