嘟嘟社区

100元求一条Nginx规则。


本帖最后由 wope 于 2021-10-23 12:11 编辑

宝塔面板,网站做了多个301重定向。包括域名的重定向,和该站目录下某些文件的重定向。
因为域名的重定向实际上已经包含了目录下的文件重定向,理论上配置是有冲突的。
想优先目录的重定向,如果没有匹配到该规则,就启用域名的重定向配置。
有没有大佬能给写一下规则?  PM

功能描述:

自行在重定向功能中添加规则,想要先让图片重定向的规则先生效,如果前面没匹配到相应规则,就触发域名重定向
比如:
/a1.jpg    重定向到   aaa.com/aaa.jpg
/a2.jpg   重定向到   bbb.com/xxx.jpg
/a3.gif   重定向到   ccc.com/ddd.gif
……
mmm.com 重定向到  nnn.com(保留URL参数)

如果有人访问mmm.com/a3.gif  匹配到上面的规则     就301到 ccc.com/ddd.gif
如果有人访问mmm.com/a4.png 没有匹配到规则      就301到nnn.com/a4.png

本帖最后由 欧阳逍遥 于 2021-10-23 11:50 编辑

location /xxxx/{

                                rewrite ^/xxxx/(.*)$ https://www.xxxx.com/xxxx/$1 permanent;
                }

location /{

                                rewrite ^/(.*)$ https://www.xxxx.com/$1 permanent;
                }

这个很简单不用花钱找人搞。宝塔那里可以直接添加跳转
欧阳大佬喜提100元
来晚了,被欧阳挣了

欧阳逍遥 发表于 2021-10-23 11:49
location /xxxx/{

                                rewrite ^/xxxx/(.*)$ https://www.xxxx.com/xxxx/$1 permanent;

感谢版主回复。不是这么简单的哈。

相当于是N个不同的文件跳转到各不同的文件,然后再是域名跳转。
前面的N个不同的文件和跳转没有统一的规则

wope 发表于 2021-10-23 12:01
感谢版主回复。不是这么简单的哈。

相当于是N个不同的文件跳转到各不同的文件,然后再是域名跳转。

那你倒是把具体的需求(哪个目录重定向到哪里,哪个域名重定向到哪里)说清楚啊。

本帖最后由 欧阳逍遥 于 2021-10-23 12:19 编辑

wope 发表于 2021-10-23 12:01
感谢版主回复。不是这么简单的哈。

相当于是N个不同的文件跳转到各不同的文件,然后再是域名跳转。

如果 nginx 本身规则有冲突。  建议 用其他方式实现。  交给后端处理跳转,比如 python   php   里面随便写了

nginx 还是比较有局限性。

  1. ############# 301 临时转向开始########
  2. rewrite /2021/10/23/a1.jpg https://img.aaa.com/aaa.jpg permanent;
  3. rewrite /2021/10/23/b1.jpg https://img.bbb.com/xxx.jpg permanent;
  4. ############# 301 临时转向结束########

复制代码

感谢大佬   这个规则写进配置文件,是不是要比宝塔面板里重定向设置优先级要高?因为网站本身的域名也是设置重定向的