访问不存在的页面时跳转到指定页面的nginx配置
当用户访问一个不存在的页面时,让其跳转到指定页面。
利用404页面设置实现
产品提到这个需求,第一个想到的是nginx的404页面设置。
error_page 404 /404.html # 这里改成指定页面地址
验证效果:
访问http://xxx.com/a(不存在的地址),直接返回了指定页面的内容。
但是地址没有变化,不满足需求。
利用rewrite跳转实现
if (!-e $request_filename) {
rewrite ^/(.*)$ /mobile_solution.html last;
}
验证效果:
访问http://xxx.com/a(不存在的地址),直接返回了指定页面的内容。
跟上面的方法类似,不满足需求。
问了下运维同事,说这里要用redirect。
if (!-e $request_filename) {
rewrite ^/(.*)$ /mobile_solution.html redirect;
}
再次验证,搞定。