我有一个移动网站,它刚刚为桌面用户启动了一项服务。如何使用.htaccess将使用桌面的用户重定向到桌面的桌面版本?
我尝试过简单的PHP脚本重定向到桌面版的主页,但我希望重定向更有效率。例如,我想将http://site.com/subfolder/重定向到http://site.com/desktop/subfolder/,我认为使用.htaccess可能能够完成工作。
我尝试过以下内容,似乎无法正常工作。
RewriteCond %{REQUEST_URI} !^/desktop/.*$
RewriteCond %{HTTP_USER_AGENT} "!android|!blackberry|!ipad|!iphone|!ipod|!iemobile|!webos|!googlebot-mobile" [NC]
RewriteRule ^(.*)$ /desktop/ [L,R=302]
请帮忙!
答案 0 :(得分:1)
在.htaccess文件中尝试以下规则:
RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteCond %{REQUEST_URI} !^/desktop/ [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*(MSIE.*Windows\ NT|Lynx|Safari|Opera|Firefox|Konqueror) [NC]
RewriteCond %{HTTP_USER_AGENT} !(^.*(Opera\ Mini|SymbianOS|Mobile)) [NC]
RewriteRule ^(.*)$ /desktop/$1 [L,R=302,NC]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks -MultiViews
RewriteCond %{THE_REQUEST} !^GET\s/wp-login\.php [NC]
RewriteCond %{REQUEST_URI} !^/(desktop/|wp-admin/|wp-login\.php) [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*(MSIE.*Windows\ NT|Lynx|Safari|Opera|Firefox|Konqueror) [NC]
RewriteCond %{HTTP_USER_AGENT} !(^.*(Opera\ Mini|SymbianOS|Mobile)) [NC]
RewriteRule ^(.*)$ /desktop/$1 [L,R=302,NC]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(desktop/|wp-admin/|wp-login\.php) [NC]
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
R = 302将重定向,https状态为302
L将制作最后一条规则
NE不用于转义查询字符串
$ 1是你的REQUEST_URI
答案 1 :(得分:0)
我认为以下代码的目标是桌面浏览器更准确。如果您不想在基于触摸的设备上排除IE 10,则可以删除第一个USER_AGENT行。
RewriteCond %{REQUEST_URI} !^/desktop/.*$
RewriteCond %{HTTP_USER_AGENT} !Windows\ NT.+Touch [NC]
RewriteCond %{HTTP_USER_AGENT} Windows\ NT\ 6|Macintosh|Ubuntu|Linux\ (x86_64|i686)|CrOS [NC]
RewriteRule ^(.*)$ /desktop/ [L,R]
所有使用Windows,Mac,Linux的桌面浏览器都将重定向到/ desktop /.
答案 2 :(得分:0)
您是否想要重定位到您网站的www版本?然后改变
RewriteCond %{REQUEST_URI} !^/(desktop/|wp-admin/|wp-login\.php) [NC]
以下内容:(将www.example.com替换为您的桌面版网站。)
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=302]
问候
seemore