使用.htaccess重定向移动 - 仅限主页

时间:2012-10-09 19:40:18

标签: .htaccess redirect mobile wildcard http-host

我开始使用here描述的方法来创建移动重定向,并且它运行良好。

然而,我接下来需要做的是阻止它发生在除主页之外的任何其他页面上。换句话说:如果用户从移动设备加载主页,则应该发生重定向 - 但如果他们从移动设备加载任何其他页面,则不应发生重定向。

我喜欢社区可能提供的有关如何有效实现这一目标的任何建议。

2 个答案:

答案 0 :(得分:0)

您需要通过签出用户代理重定向:

Mobile website redirection based on user agent

或PHP:

<?php

$useragent = $_SERVER['HTTP_USER_AGENT'];

//mobile example
if( strpos($useragent,"Blackberry") ) { 
header("Location: http://m.nickyeoman.com/");
}

//css example
if( strpos($useragent,"wii") ) { ?>
<link rel="stylesheet" href="/css/wii.css" type="text/css" media="all" />
<php } else { ?>
<link rel="stylesheet" href="/css/global.css" type="text/css" media="all" />
<php } ?>

http://www.nickyeoman.com/blog/php/64-php-redirect

答案 1 :(得分:0)

我只需要添加

[OR]
RewriteCond %{HTTP_HOST}  ^(mydomain\.com|www\.mydomain\.com)$ [NC]

就是这样。所以,最后看起来像

# Check if we're not already on the mobile site AND just going to the homepage
RewriteCond %{HTTP_HOST}    !^m\. [OR]
RewriteCond %{HTTP_HOST}    ^(mydomain\.com|www\.mydomain\.com)$ [NC]
# Can not read and write cookie in same request, must duplicate condition

确保你也得到[或]。希望我的新建议有一天会帮助某人