Bootstrap

nginx配置判断是pc端还是移动端并进行对应的链接跳转

有时候一个项目分别做了pc端和h5端 需要在pc端打开h5的链接时(反之也是一样 )自动跳转到相应的链接
我们尝试过在前端项目中进行判断 但是会有一瞬间是先打开原链接的内容再进行对应的跳转 用户体验不好 这里在nginx配置中做了判断

server {
        listen 7000;
        server_name default_server;

        error_page 404       /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
      
        #判断是否是pc端 示例链接https://www.pc.com
		if ($http_user_agent !~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox
			|netfront|operam(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {      
			rewrite ^/register(.*) https://www.pc.com last;  
			rewrite ^/(.*) https://www.pc.com redirect;
		}

     	#判断是否是h5端 示例链接https://www.h5.com
		if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|
            netfront|operam(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {        
            rewrite ^/register(.*) https://www.h5.com last;  
			rewrite ^/(.*) https://www.h5.com redirect;
        }

        location / {
            root /opt/tengine/html;
			index index.html index.htm;
        }
    }
;