我有一个网站的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]
答案 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。