nginx - 如果 404 和请求包含某些单词,则 Nginx 重定向
问题描述
如果页面不存在,我需要重定向(404)
如果 URL 包含单词“test”重定向 301 到 new_page,则重定向必须是智能的,否则抛出 404
# define error page
error_page 404 = @notfound;
# error page location redirect 302
location @notfound {
if ($request_uri = "test"){
return 301 /new_page ;
}
}
解决方案
尝试这个:
map $request_uri $error404 {
~test error404_redirect;
default error404_notfound;
}
server {
...
error_page 404 = @$error404;
location @error404_notfound {
return 404;
}
location @error404_redirect {
return 301 /new_page;
}
}
推荐阅读
- linux - 选择 API 以 9600 波特率超时
- gremlin-server - Gremlin HA 配置
- python - 使用导入模块中的父变量
- swift - SpriteKit/UIKit - 如何将 UIView 的位置设置为节点的位置?
- python - Pandas value_counts 根据系列的值类型返回错误
- python - Python中的lxml:抓取只显示英文字符(其他都是乱码)
- r - 如何使用 ggplot 进行分组箱线图?
- javascript - jquery javascript的加法和减法
- python - Python效率检查
- angular - jasmine.clock().mockDate(...) 不适用于 Angular E2E 测试