我正在尝试重定向到网站的“移动”版本,通过以下方式完成:
RewriteCond %{HTTP_USER_AGENT} "ipad|iphone|ipod" [NC]
RewriteCond %{HTTP_COOKIE} !^.*mobile.*$ [NC]
RewriteRule ^$ /?m=t [L,R=302,co=mobile:true:.domain.com]
RewriteCond %{HTTP_USER_AGENT} "ipad|iphone|ipod" [NC]
RewriteCond %{HTTP_COOKIE} ^.*mobile=true.*$ [NC]
RewriteCond %{QUERY_STRING} !(^|&)m=t(&|$) [NC]
RewriteRule ^$ /?m=t [L,R=302,co=mobile:true:.domain.com,QSA]
现在这适用于根。但由于该网站严重依赖重写,如果我修改
RewriteRule ^$ /?m=t [L,R=302,co=mobile:true:.domain.com,QSA]
到
RewriteRule ^(.*)$ /$1?m=t [L,R=302,co=mobile:true:.domain.com,QSA]
它会给我正确的重定向,但之前没有任何重写。
所以如果我之前说过重写
RewriteRule ^product/shimano$ /index.php?product_cat=shimano [L]
修改后的行会给我 /index.php?m=t&product_cat=shimano 而不是 /product/shimano?m=t
我错过了什么?我一直试图弄清楚这一点。