如何在nginx 404重定向中删除尾随URL?

时间:2015-12-07 20:49:08

标签: redirect nginx

我们有一个nginx服务器正在运行,默认的404是通用的nginx 404.它现在设置为使用此代码段将所有页面重定向到索引页面:

error_page 404 =200 /index.html

似乎运行良好,但现在在重定向的主页上,您会看到结尾的网址而不是TLD。

示例:

www.somesite.com/whereis404

应该重定向到

www.somesite.com

并删除

/whereis404

我不确定如何删除重定向上的尾随URL等。有任何想法或者这在nginx中是不可行的吗?

1 个答案:

答案 0 :(得分:1)

如果要更改地址栏,则需要执行外部重定向。通过指定相对URI,nginx默认执行内部重定向。有许多指令执行外部重定向,但用{em> scheme 和主机名替换error_page指令上的URI将指示{{1将重定向设为外部:

nginx

如果您处于反向代理环境中,则第二种变体更可取。这假定您定义了error_page 404 =200 $scheme://$server_name/; error_page 404 =200 $scheme://$host/; ,否则追加index