- PC端域名www.域名或者域名直接访问,h5端配置m.域名访问
- pc端配置
server {
listen 80;
server_name a.com www.a.com;
index index.html index.htm index.php;
root /data/www/;
set $mhostname $host;
if ($host ~ ^(www|m)\.(.*)$){
set $mhostname $2;
}
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://m.$mhostname/register last;
rewrite ^/(.*) https://m.$mhostname redirect;
}
location / {
index index.html index.htm index.php;
root /data/www/;
}
}
- 移动端配置
server {
listen 80;
server_name m.a.com;
set $mhostname $host;
if ($host ~ ^(www||m|)\.(.*)$){
set $mhostname $2;
}
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.$mhostname/register last;
rewrite ^/(.*) https://www.$mhostname redirect;
}
location / {
root /data/h5;
if (!-e $request_filename) {
rewrite ^/(.*) /index.html last;
break;
}
try_files $uri $uri/ /index.html;
index index.html index.htm;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 405 =200 http://$host$request_uri;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
access_log /data/logs/nginx/m.access.log main;
error_log /data/logs/nginx/m.error.log;
}
- 测试自动跳转
谷歌浏览器输入网址,f12调试模式,点击手机模式会自动跳转到h5页面,pc模式会自动跳转到pc页面