由于只是学习伪静态就自己配个host随便玩了,也没多写配置文件,注意是伪静态

上面的一条伪静态(rewrite)是将访问wojiuwangla.com/wangla.html给301(重定向)到百度。

首先配置host,我的电脑是win10的,host文件在C:\Windows\System32\drivers\etc\hosts

访问结果

访问域名,正常返回,然后访问伪静态试试看

别激动,还没敲回车

Look,结果出来了,从http://wojiuwangla.com/aa.html跳转到百度了。

伪静态需要用到的正则匹配,只是copy了一部分

Copy以下的正则来源:https://www.jb51.net/article/91444.htm

平时常用的:

~      为区分大小写的匹配。
~*     不区分大小写的匹配(匹配firefox的正则同时匹配FireFox)。
!~     不匹配的
!~*    不匹配的

.     匹配除换行符以外的任意字符
\w     匹配字母或数字或下划线或汉字
\s     匹配任意的空白符
\d     匹配数字
\b     匹配单词的开始或结束
^     匹配字符串的开始
$     匹配字符串的结束

*     重复零次或更多次
+     重复一次或更多次
?     重复零次或一次
{n}     重复n次
{n,}     重复n次或更多次
{n,m}     重复n到m次
*?     重复任意次,但尽可能少重复
+?     重复1次或更多次,但尽可能少重复
??     重复0次或1次,但尽可能少重复
{n,m}?     重复n到m次,但尽可能少重复
{n,}?     重复n次以上,但尽可能少重复

\W     匹配任意不是字母,数字,下划线,汉字的字符
\S     匹配任意不是空白符的字符
\D     匹配任意非数字的字符
\B     匹配不是单词开头或结束的位置
[^x]     匹配除了x以外的任意字符

OK,刚才只是热身,接下来继续

这次多添加了两条新规则

1:访问wojiuwangla.com/wangla.html跳转到百度

2:访问wojiuwangla.com/纯数字至少一个数字.html跳转到QQ官网

3:访问wojiuwangla.com/匹配字母或数字或下划线组合.html 跳转到问道官网(有没有 道十二 的道友)

重启完访问试试看

回车后结果

已经跳转了,因为我们的伪静态是\d变量匹配,所以我们输入其他数字也是会跳转

OK,让我们试试下一条伪静态

回车后结果

也跳转了,我们再试试数字字母,数字下划线,数字字母下划线组合之后的结果

OK,然后我们在试试在本地服务器上进行伪静态跳转

创建测试页面

修改配置文件,添加网站根目录,以及修改伪静态规则,因为上面两条影响的太大,无论你是什么开头,只要是html结尾的就会跳转到相应的网站。

记得清楚浏览器缓存,否则可能会出现还是返回问道官网的页面

访问结果如下

接下来把固定的伪静态改一下,这样的话,访问符合条件的php文件都会跳到相对应的html上,比如访问/index-3.php就会跳转到/index.html上。

规则没有太多变化,只不过把第一个正则参数(\w+)写到要显示的对应的路径上了,第一个参数是$1,第二个是$2

再创建个文件测试真实性

不好意思,我没配置php,我给php改个名

OK,再试试看

换成test试试

OK,都已经跳转,我们尝试多个参数

文件也改名了,好了,再试试看,千万记住,修改完配置文件必须重启/重载,要不不会生效

OK,再了解一下长度限制,

访问结果

rewrite  "^/3-(\d{3,6}).php$"   /3-$1.html permanent;

前面那一段需要用双引号引住,否则会被nginx认为}配置文件已经结尾了,然后报错。

{4,}代表最少4位数。最多无穷大。

伪静态大致应该就是这样的,可以在加多个参数后面跟不同的变量,根据自己的需求调整,万变不离其宗,可以在这些的基础上面修改,多个参数就是(\w+)-(\d+)-(\w+)这种的,后面跟$1-$2-$3一般来说不会轻易让(\w+)(\d+)挨着,\w包括了数字字母下划线而且有+号,代表不止是一个,如果匹配os91f0_31na2222这个字符串的话,直接用一个(\w+)就可以的,不用再多写个(\d+),也可以精确写成(\w+)na(\d+)。

还得说一点,注意伪静态的顺序,

比如你的第一条是

^(.*)/$  https://www.baidu.com/ last;

第二条是

^/test/$ https://www.qq.com/ last;

这样的话第二条不会生效

#####################################更新一下

刚刚发现之前写的有些漏洞,后来查阅其他博主的文章又深入了解了一下,这里给大家分享一下last,break的用法。

下方内容来自于Nginx中last和break redirect和permanent区别和联系_运维_PHP面试网https://www.phpmianshi.com/?id=98

server
{listen  80;server_name wojiuwangla.com;index index.html index.htm index.php;default_type text/html;   #这一条一定要有,否则浏览器访问会提示下载root  /usr/share/nginx/html;  location /break/ {rewrite ^/break/(.*) /test/$1 break;return 200 "break page";}location /last/ {rewrite ^/last/(.*) /test/$1 last;return 200 "last page";}location /test/ {return 200 "test page";}rewrite ^/sort/(.*) /test/$1 last;location /sort/ {return 200 "sort page";}}

1. 输入 http://wojiuwangla.com/break/

返回404, rewrite后在本location没找到test匹配规则,所以404,符合  "rewrite后不会跳出location 作用域。它的生命也在这个location中终结"

2. 输入 http://wojiuwangla.com/last/

返回 test page   符合:rewrite 后会跳出location 作用域,重新开始再走一次刚刚的行为

3. 输入 http://wojiuwangla.com/sort/

返回 test page

我们把 :rewrite ^/sort/(.*) /test/$1 last; 放到最后一行输出结果也是一样的 说明:交换rewrite和location位置,执行结果不变,说明这个和位置无关

​​​​​​​

nginx伪静态(超级简单)相关推荐

  1. zblog php伪静态,ZBLOG PHP版本Apache和Nginx伪静态规则以及设置方法

    一般而言,如果我们个人搭建网站挂一个博客程序就可以实现站长的梦想(有很多知名个人博主,单单一个博客就能叱咤网络风云),我们搭建网站肯定会选择一款体贴的CMS,不需要复杂的内容管理系统,也不需要难以运营 ...

  2. Nginx伪静态配置和常用Rewrite伪静态规则集锦

    伪静态是一种可以把文件后缀改成任何可能的一种方法,如果我想把php文件伪静态成html文件,这种相当简单的,下面我来介绍nginx 伪静态配置方法 nginx里使用伪静态是直接在nginx.conf ...

  3. nginx伪静态规则

    nginx伪静态规则 要将http://dede.com/index.php?t=3用伪静态规则改写成http://dede.com/t3.html,即可在nginx的conf/nginx.conf里 ...

  4. php 自定义超全局,一个超级简单的 PHP 超全局变量管理扩展

    一个超级简单的 PHP 超全局变量管理扩展(自卖自夸) 介绍 SG 全称 Superglobals,它的诞生为了方便快捷操作 PHP 预定义的超全局变量,用户定义的超全局变量. 如果在非 CLI 模式 ...

  5. 教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏

    教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏 实验环境: GRUB是大多数Linux系统默认使用的引导程序,当"/boot/grub/grub.conf"配置文 ...

  6. yum源的超级简单配置

    yum源的超级简单配置 1.先挂载光盘. 使用命令"mount  -o  loop  /dev/sr0 /mnt/cdrom".如果使用命令"mount -o  loop ...

  7. Yii2配置Nginx伪静态的方法

    这篇文章主要介绍了Yii2配置Nginx伪静态的方法,结合实例形式分析了Yii2框架针对Nginx伪静态的相关配置技巧,需要的朋友可以参考下 本文实例讲述了Yii2配置Nginx伪静态的方法.分享给大 ...

  8. 深入浅析nginx部署及简单优化

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.本文重点给大家介绍nginx部署及简单优化方案,感兴趣的朋友一起看看吧 Nginx是lgor Sysoev为俄 ...

  9. 一款超级简单的瀑布流的制作

    2019独角兽企业重金招聘Python工程师标准>>> 这款是在网上学习制作的,原理那啥的超级简单...话不多说,直接上代码 <!DOCTYPE html> <ht ...

  10. 哈,又一款超级简单的队列(MQ)实现方案来了~

    开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了.很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化.本着DIR精神, ...

最新文章

  1. 潜移默化学会WPF--线程巧用(一)
  2. BLE-NRF51822教程15-BLE地址
  3. JAVA NIO是什么(zz)
  4. Android 编程下快捷图标的创建
  5. [css] 固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?
  6. 修改无效_解决docker部署gitlab时,clone地址无效和修改默认端口
  7. dll加载问题的解决方法
  8. 跨路由器 网段访问rtsp_实验演示:三层交换机与路由器对接
  9. C和C++ const的声明差异
  10. 程序员代码面试指南读书笔记1
  11. GC算法精解(分代搜集算法)
  12. 文本去重Linux,Shell实现文本去重并操持原有顺序
  13. Linux命令行运行多线程程序 和 QT集成IDE下运行多线程程序的问题。
  14. ORA-01722:invalid number
  15. 微信小程序开发 uniapp【bug修复】点击事件 传值 数据结构错误 $orig
  16. java中判断字符是否为英文字母、中文汉字或者数字
  17. 数字IC设计学习笔记(一)——逻辑综合简介
  18. java将时间撮转成日期,Java将时间戳转换为日期
  19. Windows和Mac OS的伽马值
  20. 关于ucore实验一的资料查找

热门文章

  1. 现在入手iPhone SE合适吗
  2. 黄河水利职业技术学院计算机专业分数,考多少分才能上黄河水利职业技术学院 录取分数是多少...
  3. uniapp手写_uni-app框架纯手写微信小程序开发左侧滑动菜单
  4. vue ssr java_Vue-SSR入门
  5. 用户案例|告别传统金融消息架构:Apache Pulsar 在平安证券的实践
  6. 开发游戏用 - AVG(冒险解密恋爱)类型的背景素材图片下载 - 合辑
  7. Linux学习笔记(三)-设备管理与驱动
  8. css改变页面滚动条样式@令狐张豪
  9. 【PS小技巧】PS抽丝效果制作
  10. 阿里云+作业帮+小红书:论剑云原生时代的 SRE与智能运维