访问不存在的页面时跳转到指定页面的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;
}

再次验证,搞定。

标签: nginx

添加新评论