开发者社区> 问答> 正文

Nginx的Rewrite设计,求大神大腿抱 : 配置报错 

运行环境:Ubuntu + JDK 8 + Tomcat + Nginx

项目开发:Java Web(JFinal + MySQL)

项目设计:www.791211.com、tools.791211.com、nav.791211.com

    项目现在有3个模块,Tools(工具集)、Nav(导航)、blog(博客)

http://www.791211.com/tools

http://www.791211.com/nav

http://www.791211.com/blog (还未做)

    

问题:

我想用Nginx的rewrite重写,实现类似以下的功能:

    

tools.791211.com               访问http://www.791211.com/tools
tools.791211.com/apidocs       访问http://www.791211.com/tools/apidocs
tools.791211.com/contrast/hct  访问http://www.791211.com/tools/contrast/hct

blog.791211.com/*/*  也是如此

可是怎么配置都是错,我也哭了,现在只能

tools.791211.com/tools/apidocs 访问http://www.791211.com/tools/apidocs

配置如下:

server {
    listen       80;
    server_name  *.791211.com;
	index index.html index.htm index.jsp;
	root /alidata/www/default;
	

	if ( $host ~* (.*)\.791211\.com) {
		set $subdomain $1;
	}
	
	
	location / {
		rewrite ^/$ /$subdomain last;
		proxy_pass    http://127.0.0.1:8080/;
	}

	location ~ ^/(WEB-INF)/ {
        deny all;
    }
	
	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
	{
		expires 30d;
	}

	location ~ .*\.(js|css)?$
	{
		expires 1h;
	}

	access_log  /alidata/log/nginx/access/default.log;
}

求大腿帮助!!

展开
收起
kun坤 2020-06-03 16:14:26 415 0
1 条回答
写回答
取消 提交回答
  • location / {
                    set $domain default;
                    if ( $http_host ~* "^(.*)\.791211\.com$") {
                            set $domain $1;
                    }
                    rewrite ^/(.*)    /$domain/$1 last;
            }
    ######java不是有urlrewriter吗
    2020-06-05 13:30:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载