次のルールを使用して、AndroidバージョンからPCバージョンにリダイレクトしようとしています。
http://example.com/android/categories
RewriteCond %{HTTP_USER_AGENT} !^Android [NC]
RewriteCond %{REQUEST_URI} !^categories$ [NC]
RewriteRule categories$ /categories [L,R,QSA]
問題は、ユーザーエージェントがiphoneとandroidのどちらかである場合、Androidバージョンがリライト条件内に入らないことです。
なぜAndroid版はそのルールを読むのですか?
そしてこの例では:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule hot$ /hot-apps [L,R,QSA]
RewriteRule android/news$ /news [L,R,QSA]
最初の書き換えルールは機能しますが、次の書き換えルールは機能しません。
私もこれをしました:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule iphone/contact$ /contact [L,R,QSA]
これも機能しません:
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteCond %{REQUEST_URI} !^/android/ [NC]
RewriteRule news$ /news [L,R,QSA]
しかし、それでも正しく機能しませんか?