【问题标题】:.htaccess mobile redirect not working with all files of my website.htaccess 移动重定向不适用于我网站的所有文件
【发布时间】:2015-02-15 17:53:21
【问题描述】:

我已在 .htaccess 文件中插入代码以进行移动重定向:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:X-WAP-PROFILE} !^$ [OR]
RewriteCond %{HTTP:PROFILE} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(Alcatel|Asus|Android|BlackBerry|Ericsson|Fly|Huawei|i-mate|iPAQ|iPhone|iPod|LG-|LGE-|MDS_|MOT-|Nokia|Palm|Panasonic|Pantech|Philips|Sagem|Samsung|Sharp|SIE-|Symbian|Vodafone|Voxtel|WebOS|Windows\s+CE|ZTE-|Zune).*$ [NC,OR]
RewriteCond %{HTTP_ACCEPT} application/vnd.wap.xhtml\+xml [NC,OR]
RewriteCond %{HTTP_ACCEPT} text/vnd.wap.wml [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{SERVER_NAME} ^www\.(.*)$
RewriteRule ^(.*) http://m.%1/ [L]

我有一个问题:.htaccess 文件仅适用于索引文件,它不能重定向到我网站的其他文件。
我试图在我的手机中写 www.example.com/file_different_to_index.php 并且网站没有重定向到 m.example.com/file_different_to_index.php

【问题讨论】:

    标签: .htaccess redirect user-agent mobile-website


    【解决方案1】:

    只需更改最后一行:

    RewriteRule ^(.*) http://m.%1/$1 [L]
    

    【讨论】:

    • 没用,我把最后一行改成了RewriteRule ^(.*) http://m.%1/$1 [L],在我的手机上试了一下,重定向没用
    【解决方案2】:

    如果您想要另一个可行的选项,这是我认为处理移动检测和重定向在 PHP 中效果很好的一次。我一直使用它,如果你愿意,它甚至可以检测到操作系统。

    这工作得更好,您不必在 htaccess 中执行所有这些条件。

    https://github.com/serbanghita/Mobile-Detect#usage

    查看下面我的其他答案,了解如何使用它的示例。它很简单,你可以在 10 分钟内让它工作。只需使用条件语句,然后使用 php 重定向 header location

    Mobile Browser Check IF Statement

    【讨论】:

    • 它可以工作,但我使用 htaccess 不复制所有 php 文件中的代码。 . .你的回答有效,但我没有 15 声望来投票
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多