这个问题可能看起来已经被问到了,我已经看到了所有这些问题,我一直在寻找和尝试许多未经批准的答案和答案。我已经成功地做到了这一点,如果用户转到桌面版本,它将转到移动网站,即使他们去了诸如此类的地方。
www.domain.com/aboutus
它会把他们带到
m.domain.com/?page=aboutus
所以这就是问题所在,而不是它不起作用,但我一直在尝试从重定向“?page =”部分中删除$ _GET变量。
我的.htaccess看起来像......
<IfModule mod_rewrite.c>
RewriteEngine on
# if it is not a file or folder, rewrite to index.php?page=<value>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteRule ^index.php(.*)$ http://m.domain.com/ [QSA,L]
</IfModule>
我尝试使用移植重定向添加请求文件名,但无济于事。有些网站通过使用内置的Google Chrome检查元素实现了9gag,google将用户代理更改为所选的设备(手机),我用它来测试重定向的方式。所以,如果我写9gag.com/hot-它将带我到m.9gag.com/hot而不是m.9gag.com/?page=hot或任何地方。
在此先感谢,我真的为此烦恼。
答案 0 :(得分:1)
您需要先检查移动重定向,然后需要包含请求URI。
<IfModule mod_rewrite.c>
RewriteEngine on
# Redirect mobile requests to the mobile site
# (but don't redirect when accessing certain directories)
RewriteCond %{REQUEST_URI} !^/images [NC]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteRule ^(.*)$ http://m.domain.com/$1 [R=302,L]
# If it is not a file or folder, rewrite to index.php?page=<value>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
</IfModule>
您可以通过将302更改为301来永久重定向。