rewrite - 求一个nginx个性域名的重写规则

【字号: 日期:2022-07-08浏览:42作者:雯心

问题描述

想法:http://abc.ccav.com rewrite 到 http://www.ccav.com/uid/abchttp://abc.ccav.com/article/index/index rewrite 到 http://www.ccav.com/article/index/index/uid/abchttp://abc.ccav.com/article/index/show/id/1 rewrite 到 http://www.ccav.com/article/index/show/uid/abc/id/1http://abc.ccav.com/shop/index/index rewrite 到 http://www.ccav.com/shop/index/index/uid/abchttp://abc.ccav.com/shop/index/show/id/1 rewrite 到 http://www.ccav.com/shop/index/show/uid/abc/id/1自己实际试了几下,都没成功,求大神指点

问题解答

回答1:

自己解决了

server { listen 80; #rewrite_log on; #error_log /datas/logs/ccav_rewrite.log notice; server_name *.u.ccav.com; location ~ ^/(images|styles|scripts|uploads)/ {proxy_redirectoff;proxy_set_header Host www.ccav.com;proxy_pass http://127.0.0.1:80; } location / {set $uid default;if ( $http_host ~* '^(.*).u.ccav.com') { set $uid $1;}rewrite ^/article/index/show/id/([0-9]+)/?$ /article/index/show/uid/$uid/id/$1 break;rewrite ^/article/index/index/?$ /article/index/index/uid/$uid break;rewrite ^/article/index/category/cid/([0-9]+)/?$ /article/index/category/uid/$uid/cid/$1 break;proxy_pass http://www.ccav.com; }}回答2:

这是不重写,应该叫跳转,可以做301,当$host = ’abc.ccav.com’ 时,^/(.*)$ http://www.ccav.com/$1 permanent; 思路就是这样的

相关文章: