技术解析

Nginex设置部分rewrite没成功,求大侠帮忙。。。感谢
0
2021-05-27 19:10:53
idczone
要做的事情:

我想让网站"部分"域名跳转到新网站,其他不跳转:



我抗投诉服务器的方法:
listen 80;
server_name www.old.com

location / {
rewrite ^/$ http://www.new.com/ permanent;
rewrite ^/some_link/$ http://www.new.com/some_new permanent;
rewrite ^/some_link/$ http://www.new.com/some_new permanent;
...


问题:

现在其他"不打算跳转的页面",打开后,全部是404


大侠,求助。。。。应该是很简单的问题,在你的眼里。。
nginx还打错了。。。

if ($host ~* domain){
rewrite ^/some_link/$ http://www.new.com/some_new permanent;
}
加多个$host 判断下

既然你只是想把部分链接301
那第一条的作用是什么呢?
rewrite ^/$ http://www.new.com/ permanent;
去掉看看。

首页也要301。。。


感谢兄弟,
我明白你的意思,但是这个host下,没有rewrite的网页还是404..

我觉得首页可以直接在网页用header转跳就得了
然后其他的就在nginx重定向

既然301成功了,就说明404和这几条规则无关。

没rewrite 的会进入该server { ... } 的其他配置流程啊
你应该反过来,可能更容易排查
先让 www.old.com 正常访问,然后 加rewrite让部分条件301到新域名

有道理,我试一下 多谢

谢谢xiaop, 现在的情况是,去掉这几条规则,就没有404 =。=

多谢 pubby,现在是其他配置应该怎么写?

试试这样
location / {
rewrite ^/$ http://www.new.com/ permanent;
}
location /some_link {
rewrite ^/some_link/$ http://www.new.com/some_link permanent;
}

上面回复的纠正一下:
location /some_link {
rewrite ^/some_lin(k|k/)$ http://www.new.com/some_link permanent;
}

多谢大侠,我试一下啊啊啊 :)

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