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;
}
多谢大侠,我试一下啊啊啊 :)