服务器问答

有两千多个链接需要做 301,而且链接无规律,有什么好方法吗?
0
2021-05-19 19:00:42
idczone
目前是再 server 里加了两个多个 if,除了这个还有什么写法?
if ($request_uri = /aaa/sr-4878.html) {return 301 /bbb/4878.html;}
if ($request_uri = /aaa/sr-4880.html) {return 301 /bbb/4880.html;}
if ($request_uri = /aaa/sy-4884.html) {return 301 /bbb/4884.html;}
if ($request_u大带宽服务器ri = /aaa/sy-4889.html) {return 301 /bbb/4889.html;}
https://stackoverflow.com/questions/45045665/nginx-using-or-set-at-regex-for-the-map

已测试。
location /aa/ {
rewrite ^/aa/.*?-(\d+)\.html$ /bb/$1.html permanent;
}

我寻思正则表达式可以

我没说清楚。/aaa/里只有部分内容 301 到 /bbb/,还有部分保持不变

需要 301 的写到文件不行就了 然后让别人写这个文件 ^_^

用 openresty lua

用 map

ngnix rewrite 支持正则的

那也可以改成这样。
location ~ ^/aa/(sr|sy)-(\d+)\.html$ {
return 301 /bbb/$2.html;
}

试试代码格式化。。。
```
location ~ ^/aa/(sr|sy)-(\d+)\.html$ {
return 301 /bbb/$2.html;
}
```

都说了没规律了,还能有啥办法,一条条写呗

不用 301 的呢?哪个多?哪个少写哪个。。。

没有规律用不了正则,那就只能一个个写咯,还有什么办法

为什么要 aaa 转到 bbb,图的什么?

+1
2000 多很多么,map 出来,直接改
一分钟写 12 条,180 分钟=3 小时 ?

正则解决不了?

写一段根据跳转的表格生成 nginx 规则的代码

写个有规范的 map,然后 nginx 直接读取。
比如:
aaa-->bbb
然后在 nginx 里直接正则替换

回复不支持 markdown

要是不做会 404 还是什么?从错误处理那边跳不就行了

都 root 到一个 html 里面去做前端跳转去。。

这不挺规律的么

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服