在移动网站上有一个链接,绕过主网站上.htaccess文件的移动重定向

时间:2013-04-15 20:24:38

标签: php html .htaccess

我有一个网站的2个版本。一个普通的网站和一个Jquery移动网站。我运行一个defaultrewite.php模板并从MYSQL数据库中提取我的内容。

我希望能够将链接放到我的移动网站上,然后转到主网站?

每次我从移动设备(例如iphone)访问主网站时,.htaccess文件都会将我发送到移动网站。

下面是我的.htaccess文件的代码。

由于

RewriteEngine on
RewriteRule ^/?([a-z0-9-_]*)$ default-rewrite.php?page=$1 [L]
RewriteCond %{REQUEST_URI} !^http://sonae.co.za/.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera   mobile|palmos|webos|symbian|googlebot-mobile" [NC]
RewriteRule ^(.*)$ http://mobile.sonae.co.za/ [L,R=302]

2 个答案:

答案 0 :(得分:0)

在第二个RewriteRule上方添加一行:

RewriteCond %{QUERY_STRING} !nomobile

然后,您可以允许移动设备通过将其包含在查询字符串中来访问常规站点,例如

http://sonae.co.za/foo/bar?nomobile

这要求字符串不存在于查询字符串

答案 1 :(得分:0)

让链接通过重定向页面,如果他们点击该链接,设置一个名为use_desktop的cookie:

$url = $_GET['redirect_url'];
setcookie('use_desktop', 1, time() + 60*60*24*30, '/');
header("Location: $url");
exit;

然后添加

RewriteCond %{HTTP:Cookie} !(^|;\ *)use_desktop=([^;\ ]+)

作为重写规则之前的另一个条件。

这将比查询字符串更好,因为一旦查询字符串消失(即他们点击链接),他们将被重定向回移动版本,这使他们继续在桌面版本上,直到他们点击一个“使用移动链接”,它将通过重定向器删除该cookie。