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 --- 追踪跳转过程,显示页面信息