需求
PC站地址:http://example.com
PC站文章地址:http://example.com/news/article.html
手机站地址:http://example.com/m
手机站文章地址:http://example.com/m/news/article.html
现在需要当手机访问PC站页面时自动跳转到对应的手机站页面
NGINX配置
server {
listen 80;
server_name example.com;
root /path/to/example.com;
# 检测是不是手机访问
set $mobile_rewrite do_not_perform;
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|opera m(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") {
set $mobile_rewrite perform;
}
if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
set $mobile_rewrite perform;
}
# 检测访问的是不是PC版页面
if ($document_uri !~ '^/m/') {
set $mobile_rewrite "${mobile_rewrite}pc";
}
location / {
# 手机访问PC版页面,则路由前面加/m/跳转
if ($mobile_rewrite = performpc) {
rewrite ^ /m$uri redirect;
}
index index.html;
try_files $uri $uri/;
}
}
分享到:
相关推荐
一个精心设计的404自动跳转页面不仅能够提升用户体验,还能帮助网站保持专业形象。本主题将深入探讨404错误自动跳转的概念、实现方式以及与JavaScript (js) 和jQuery (jq) 的关联。 首先,404错误是HTTP状态码的一...
通过使用Nginx的重定向功能,尤其是301永久重定向,可以确保旧链接自动跳转至新位置,同时有助于保留原有的页面权重(如PR值),对提升网站的整体表现至关重要。 #### 3. Nginx重定向规则详解 Nginx的`rewrite`...
这通常涉及到URL重写和服务器配置,如Apache或Nginx的rewrite规则,以及PHP的header函数来实现HTTP状态码的改变和URL的跳转。 2. **多个域名跳转**:考虑到一个备用域名可能也会被封禁,源码还提供了多域名跳转的...
源码亮点 不止表白卡,更有交流卡 标签系统,你的站点,你的热点,你创造 模板系统,给你无限可能 卡片不限字数,支持多图片上传 支持评论,点赞,让互动性拉满 ...4. 进入网站自动跳转至安装引导
2、浏览器打开,若您是第一次使用阿狸子,则将自动跳转到安装页面 3、填写相关数据库信息与管理员账号密码,执行安装! 4、安装完毕,可登陆后台设置系统相关信息。 搬家说明: 1、备份数据库(如果数据不多可以在...
LoveCards表白墙v2开源网站源码,不止表白卡,更有交流卡。标签系统,你的站点,你的热点,你创造 源码亮点 模板系统,给你无限可能 卡片不限字数,支持多图片上传 ...4. 进入网站自动跳转至安装引导
阿狸子订单系统(以下简称“阿狸子”)说明信息 ...2、浏览器打开,若您是第一次使用阿狸子,则将自动跳转到安装页面 3、填写相关数据库信息与管理员账号密码,执行安装! 4、安装完毕,可登陆后台设置系统相关信息。
WAP是一种在移动设备上浏览互联网内容的技术标准,它允许用户通过GPRS、3G或4G等移动网络访问网页和应用。 在WAP源码模板中,我们可以找到以下几个关键部分: 1. **HTML文件**:如1077142.html和index.html,这些...
(16)多城市版本:支持多城市间自由切换,不同城市可采用独立二级域名,系统根据浏览者IP自动跳转所在城市,分站有独立的广告管理,每个分站可设置独立管理员,分站拥有独立的SEO优化设置可设置不同的关键词描述 ...
1. **响应式设计**:云优CMS模板通常具备响应式布局,能够自动适应不同设备的屏幕尺寸,无论是桌面电脑、平板还是手机,都能提供良好的浏览体验。 2. **SEO优化**:通过配置像`bcloud_nginx_user.conf`、`web....
在VIM中配置Django开发环境,我们需要安装一些插件,例如`vim-django`,它提供了对Django项目的特殊支持,包括语法高亮、代码跳转和自动补全。此外,`jedi-vim`和`vim-python-pep8`也是很好的选择,前者为Python代码...
JavaScript作为客户端脚本语言,实现动态交互,如表单验证、页面跳转、数据加载等。 在后端,项目可能使用了Java、Python、Node.js等服务器端语言之一,配合Spring Boot、Django或Express等框架,处理HTTP请求,与...
用户无需在多个页面间跳转,只需在一个页面中就可以预览和浏览所有图片,大大提升了查看效率。这对于设计师、开发者或任何需要快速评估目录中图像内容的人来说,都是非常实用的。 再者,由于iv是基于JavaScript实现...
而在服务器端,如使用Apache或Nginx,可以通过配置文件设置默认索引页面(如index.html)以自动跳转到首页。 在实现网页设计效果时,CSS(层叠样式表)扮演了至关重要的角色。CSS允许设计师控制网页的布局、颜色、...
这个系统主要用于模拟宠物交易,提供了一个在线平台让宠物爱好者可以浏览、购买或者出售宠物。以下是对这个系统各个组成部分的详细解析: 1. **Java**: 作为后端开发的主要语言,Java以其跨平台的特性、丰富的类库...
- 在浏览器中输入网站地址,系统会自动跳转到安装向导页面。 - 按照向导提示依次完成环境检测、数据库设置、账号创建等步骤。 - 安装完成后,记得删除安装目录下的`install`文件夹以增强安全性。 6. **主题设置*...
2. 安装主题:在“外观”菜单中选择“主题”,可以浏览并安装免费或付费主题,以改变网站的外观。 3. 添加插件:在“插件”菜单下,您可以搜索并安装各种插件来扩展WordPress的功能,如SEO优化、社交媒体分享等。 4....
这个项目展示了如何将这两种技术有效地结合,以实现一个完整的Web应用程序,主要用于音乐资源的浏览、播放和管理。 首先,Spring Boot是Java领域的一个轻量级框架,它简化了新Spring应用的初始搭建以及开发过程。...
通过自动配置和“起步依赖”,Spring Boot可以让开发者快速创建独立的、生产级别的基于Spring的应用。在这个项目中,Spring Boot负责处理后端业务逻辑,提供RESTful API供前端调用,同时支持数据库交互。 **Vue.js*...
【Django实现天天生鲜电商项目】是一个基于Python的Django框架构建的电商平台示例,它提供了全面的功能,包括商品浏览、购物车管理、订单处理、用户注册与登录等。在这个项目中,我们可以深入学习Django的各个核心...