nginx_解决无限跳转问题


01
. 用户访问www.oldboy.com/test/oldboy.jpg 目录下任何内容, 实际上真实访问是http://www.oldboy.com www.oldboy.com/test/oldboy.jpg ==> www.oldboy.com/oldboy.jpg 第一个历程: 编写配置文件 server { listen 80; server_name www.jd.com; root /html/www; index index.html; location /test/ { rewrite /test/(.*) http://www.oldboy.com/$1 permanent; } } 02. 用户访问course-11-22-33.html实际上真实访问是/course/11/22/33/course_33.html #http://www.oldboy.com/course-11-22-33.html ==> http://www.oldboy.com/course/11/22/33/course_33.html server { listen 80; root /html/www; server_name www.oldboy.com; index index.html; location / { rewrite (.*)-(.*)-(.*)-(.*).(.*) $1/$2/$3/$4/course_$4.$5 last; #灵活rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect; #固定rewrite ^/course-(.*) /course/11/22/33/course_33.html redirect; } } 03. 用户访问 www.jd.com 跳转成 www.oldboy.com (难点) -- 无限跳转 方法一: server { listen 80; server_name www.jd.com; rewrite ^/(.*) http://www.oldboy.com/$1 permanent; } server { listen 80; server_name www.oldboy.com; root /html/www; index index.html; } 方法二: server { listen 80; server_name www.oldboy.com www.jd.com; root /html/www; index index.html; location / { if ($http_host ~* ^www.jd.com$) { rewrite ^/(.*) http://www.oldboy.com/$1 permanent; } } } curl -v --- 显示详细访问过程 curl -L --- 追踪跳转过程,显示页面信息
原文地址:https://www.cnblogs.com/zhanghongqi/p/11832769.html