使用 htaccess 移动设备重定向到桌面版本

2024-02-07

我有一个网站叫

www.example.com

我有一个移动网站,名为

m.example.com

首先,我想自动从桌面版本重定向到移动网站(如果仅是移动网站......我想检测所有移动版本)

然后我想使用 htaccess 自动将主网站 URL 重定向到移动版本.. 但是,移动版本上有一个链接指向主网站,称为

www.example.com/?nm=1 (nm mean nomobile)

我想为此设置 cookie..(redirect to desktop site from mobile site)

如果用户在过去一段时间后再次回来..我想检查 hv cookie..(check www.example.com/?nm=1 set cookie earlier)如果没有 cookie 自动重定向到移动版本...如果有 cookie 想保留在桌面版本。

我怎样才能通过htaccess没有 JavaScript。


这个答案 https://stackoverflow.com/a/20820566/2209007为您解决部分问题。就像这个答案一样,我不会为您建议包含用户代理的列表。找到适合您的列表,并将其放入规则中。移动设备的类型、移动设备中的浏览器等不断变化,这个答案在我发布之前就已经过时了。您需要稍微调整该规则,以防止它在 cookie“nomobile”设置为“1”时匹配。您需要一条规则来查看 url 中的“nm=1”并设置 cookie。您可能还需要对该 oookie 进行某种重置,我将其标记为“nm=0”。

RewriteCond %{QUERY_STRING} nm=1
RewriteRule ^ - [CO=nomobile:1:localhost:10000]

RewriteCond %{QUERY_STRING} nm=0
RewriteRule ^ - [CO=nomobile:0:localhost:10000]

RewriteCond %{HTTP_USER_AGENT} ^(user-agent1|user-agent2|user-agent3|etc)$
RewriteCond %{HTTP_HOST} !^m\.example\.com$
RewriteCond %{HTTP_COOKIE} !nomobile=1
RewriteRule ^(.*)$ http://m.example.com/$1 [R,L]

请检查cookie 的文档 http://httpd.apache.org/docs/current/rewrite/flags.html#flag_co以便在您的特定站点上正确使用 CO 标志。上面的代码未经测试,但理论上它应该可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 htaccess 移动设备重定向到桌面版本 的相关文章

  • htaccess 正则表达式目录到变量

    我需要对某些 URL 从目录到变量进行 301 重定向 EXAMPLE http domain com es stackoverflow gt http domain com stackoverflow lang es http domai
  • .htaccess 中的“hash”url 重写

    我想重写http example com articles html first article with http example com articles first article 可以重写吗 我尝试使用以下但对我不起作用 Rewri
  • 为什么 Chrome 审核建议我最小化 Cookie 大小?

    如何最小化请求的 cookie 大小 Chrome 似乎 警告我 我的 cookie 大小为 41B 这根本不是很多 但是它警告我有什么原因吗 这是一个 PHPSESSID cookie 我真的不知道如何最小化它 有任何想法吗 我的请求响应
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • 如果 url 不包含特定目录,则 htaccess 重定向

    使用 htaccess 我需要将所有不包含特定 URL 路径 医疗保健 的 URL 重定向到新域 同时保持原始 URL 不变 Example healthcare domain com anydirectory anything html
  • HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多

    我正在为我的网站之一使用 Bluehost 最近 最近 我已将我的网站从 HTTP 迁移到 HTTPS 之后 我使用了不同的代码 包括以下代码 在我的网站上强制使用 HTTPS SSL Rewrite RewriteEngine On Re
  • Android Activity 重新创建自身

    我的应用程序通常运行得很好 直到我在特定设备上遇到奇怪的问题 App中有2个活动 当我在 ActivityA 内启动 ActivityB 后 ActivityA 启动时没有问题 但是 当我通过按下硬件按钮或调用 finish 返回 Acti
  • 将旧锚链接重定向到新锚链接

    我正在彻底修改其他人为我的组织构建的网站 它最初设置为 不太好 的锚链接 其中包含空格 我已经用效果更好的新锚替换了这些锚 例子 其中一位老主播看起来像这样 course To Have哪些浏览器会幸运地转换为 course To 20Ha
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • 如何在 C# 中将 cookie 过期设置为“会话”?

    不言自明 在 PHP 中 解决方案是将 cookie 过期设置为 0 我不确定 C 因为它需要 DateTime 值 的文档Cookie 过期 http msdn microsoft com en us library system net
  • 将 .php URL 重定向到不带扩展名的 URL [重复]

    这个问题在这里已经有答案了 可能的重复 使用 htaccess 删除 php 扩展名 https stackoverflow com questions 4026021 remove php extension with htaccess
  • 钛金 Android 导航组

    您好 我是钛合金新手 它允许开发人员创建跨平台应用程序 我需要创建一个适用于 Android 和 iOS 的导航组 有没有明确的解决方案 因为 Ti UI iPhone createNavigationGrou 仅适用于 iphone 谢谢
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • 使用 .htaccess 重定向到动态相对路径?

    是否可以使 htaccess 理解 动态相对路径并正确重定向到它们 我的设置如下 http domain com htroot aaa xyz http domain com htroot bbb xyz http domain com h
  • 使用 Python 和 Google App Engine 的 Cookie

    我正在 Google App Engine 上开发一个应用程序 但遇到了问题 我想向每个用户会话添加一个 cookie 以便我能够区分当前用户 我希望他们都是匿名的 因此我不需要登录 因此 我为 cookie 实现了以下代码 def cle
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • Youtube Iframe API 不适用于移动设备?

    我很困惑 Youtube Iframe API 与标准示例 https developers google com youtube iframe api reference hl de https developers google com
  • .htaccess 重写而不影响相对的 image/css/js URL?

    我需要一些有关 htaccess 文件的简单帮助 提前谢谢您 我有很多网站网址 例如 www site com index php page path solutions overview html www site com index p
  • .htaccess 将所有页面重定向到新域上的主页

    我将使用哪个重定向规则来重定向下的所有页面olddomain example被重定向到newdomain example 该网站的结构完全不同 所以我想要每一页在旧域名下重定向到新域名索引页 我认为这可以 在 olddomain examp
  • 从子目录文件夹中删除尾部斜杠 Apache 1.3.42 DirectorySlash Off .htaccess

    我正在尝试从 Apache 1 3 42 中的子目录文件夹中删除尾部斜杠 但是命令DirectorySlash Off当我尝试将规则添加到我的 Apache 版本时 不支持 htaccess file 目前我的链接行为如下 www exam

随机推荐

  • XML - 将属性反序列化为 Xml 子树

    当我反序列化 xml 字符串时 我需要在名为prop2 My XML
  • R 中的字符串操作:删除多个位置的特定模式,而不删除模式实例之间的文本

    在 R 中 我尝试编写适用于字符串模式的任何改编的代码 字符串的一个例子是 string lt y 1 a b c d 2 e 1 f g 我只想删除包含 模式的部分 例如 b c 和 1 f 并留下 y 1 a d 2 e g 请注意 字
  • 在匹配元素处划分列表的 Pythonic 且有效的方法是什么?

    这非常类似于Python 根据条件拆分列表 https stackoverflow com questions 949098 python split a list based on a condition并且https nedbatche
  • 为 NSTableView 中的行着色

    我想要做的是当单击 I 按钮时设置 NSTableView 中所选行的背景颜色 我见过人们使用过的其他案例tableView willDisplayCell forTableColumn row and setBackgroundColor
  • Elasticsearch - 维护文档历史记录

    我是 Elasticsearch 的新手 有一个非常基本的问题要问 我计划使用 Elasticsearch 作为文档存储 并且在存储文档时 我的要求之一是维护历史数据 因此 我可以成功地将文档发布到 Elasticsearch 但是当我发布
  • Perl 中哈希数组树的路径列表

    我有一系列路径 C A C B C D AB 我希望将它们放在哈希数组树中 这样我就可以在 TT2 模板中遍历它们 我的意思是这样的 dirs name gt C subs gt name gt A subs gt name gt B su
  • 在 Android Studio 中使用 NDK、Gradle 和 CMake 链接外部库

    经过一段时间的间隔后 我又回到了 Android 开发 我的旧的基于 ANT 的构建链似乎不再与最新的 SDK 一起运行 这是一个单独的问题 所以我尝试以新的方式做事 这是基于gradle 和 CMake 我的项目需要许多预构建的静态和动态
  • 使用自定义文件格式创建 TensorFlow 数据集

    我正在尝试创建一个 tf data Dataset 其中文件名映射到深度图像 我的图像保存为原始二进制文件 每个文件 320 240 4 字节 图像为 320x240 像素 用 4 个字节表示一个像素 我无法弄清楚如何创建一个解析函数 该函
  • 更改 MariaDB 中的列名称

    我在这个数据库中有此列 其中包含空格键 我想更改它 ALTER TABLE CHANGE COLUMN Anzahl Personen AnzahlPersonen int 11 在命令行中使用此行后 输出如下 ERROR 1064 420
  • 使用敏感设置信息部署到 Heroku

    我使用 GitHub 来存储代码 使用 Heroku 作为 Rails 应用程序的部署平台 我不想在 Git 下保存敏感数据 此类数据包括数据库文件设置 database yml 和一些具有秘密 API 密钥的其他文件 当我部署到herok
  • 从命令行查找并替换 unix

    我有一个多行文本文件 其中每行都有格式 Game 29832 我想将字符 1 附加到每行的每个数字 每行都不同 有谁知道如何从命令行执行此操作 Thanks sed i e s Game 0 9 1 file i用于就地编辑 并且 表示与模
  • 在 NodeJS 中对 SAML2 请求进行数字签名

    我想要对以下 SAML 请求进行数字签名
  • 在服务器套接字java中从客户端获取数据

    我正在创建一个执行以下任务的服务器应用程序 接受客户端的连接 将每个客户端连接处理到单独的线程 接收来自客户端的数据 发送数据给客户端 我能够连接客户端 但无法从客户端接收数据 仅当该客户端断开连接时 数据才在我的控制台中可见 Code p
  • 自动终止 mysql 睡眠进程的 Shell 脚本

    我们如何杀死 mysql 睡眠进程 例如 Id User Host db Command Time State Info
  • php echo 和 return 在 jQuery ajax 调用方面的区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在使 jQuery Ajax 调用
  • 如何验证日期不是 .net c# 中的未来日期

    只是徘徊 我如何验证该日期不是 net c 中的未来日期 Example 我已在那里应用了验证以进行所需的字段验证 但不知何故 我不知道如何应用验证来检查开始日期 以确保它不是未来日期 日期不大于当前日期 tr td align right
  • 如何使用 QFileDialog 选项并检索 saveFileName?

    我正在尝试使用 QFileDialog 提示用户提供文件名和保存文本文件的位置 我尝试了 QtGui QFileDialog getSaveFileName 但我对使用某些选项感兴趣 例如设置默认后缀 以及启用保存文件对话框的详细信息视图
  • 在 Node.js 中处理循环内的查询

    在下面的代码中 由于异步行为 val 变量值不断变化并生成意外的输出 即在第一个循环的连接查询完成之前 var 变量根据第二个循环并生成错误的输出 处理循环中查询的最佳方法是什么避免由异步性质引起的特性 var output for var
  • Sql Server 行大小限制和表设计

    我在 SQL Server 2008 上有这个查询 CREATE TABLE MediaLibrary MediaId bigint NOT NULL IDENTITY 1 1 MediaTypeId smallint NOT NULL I
  • 使用 htaccess 移动设备重定向到桌面版本

    我有一个网站叫 www example com 我有一个移动网站 名为 m example com 首先 我想自动从桌面版本重定向到移动网站 如果仅是移动网站 我想检测所有移动版本 然后我想使用 htaccess 自动将主网站 URL 重定