htaccess 重定向到仅在主页上工作的移动站点

问题描述

我创建了一个重定向,可在移动设备上将用户重定向到移动网站,但它只能在主页上运行?如何让它适用于所有页面

这是我的代码

RewriteEngine On
# Check for mime types commonly accepted by mobile devices
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^ https://m.my-website.com%{REQUEST_URI} [R,L]

我是 .htaccess 文件的新手,因此非常感谢任何帮助。

解决方法

正如 anubhava 先生已经提到的关于删除条件 + 我也在尝试改进您的代码,请按以下方式使用您的 htaccess:

Rewriteengine ON
RewriteCond %{HTTP_ACCEPT} (?:text\/vnd\.wap\.wml)|(?:application\/vnd\.wap\.xhtml\+xml) [NC]
RewriteRule ^ https://m.my-website.com%{REQUEST_URI} [NE,R,L]

我已将 NE 标志(查看文档 https://httpd.apache.org/docs/2.4/rewrite/flags.html#page-header 以获取更多详细信息)添加到您的重定向规则中,然后我创建了非捕获组来隔离您的条件检查部分中的模式检查,使其更清晰。