博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用的nginx rewrite重写规则
阅读量:4345 次
发布时间:2019-06-07

本文共 1705 字,大约阅读时间需要 5 分钟。

本文提供一些常用的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

转载于:https://www.cnblogs.com/zhangfu/p/10488067.html

你可能感兴趣的文章
kibana的query string syntax 笔记
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>
CMU Bomblab 答案
查看>>
2016 - 1 -17 GCD学习总结
查看>>
linux安装php-redis扩展(转)
查看>>
技术分析淘宝的超卖宝贝
查看>>
i++和++1
查看>>