0

わかりました、サイトmywebsite.netがあります。mobi.mywebsite.netipad.mywebsite.netの 2 つのサブドメインがあります。

htaccess リダイレクトを使用すると、iphone/android では問題なく動作しますが、ipad を追加して ipad サブドメインにリダイレクトしたい場合は、次のコードを使用します。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule .* http://mobi.Mywebsite.net/ [R]

ipad ( ) のこの rewritecond を見つけましRewriteCond %{HTTP_USER_AGENT} "iPad" [NC,OR]たが、それを追加する場合、ipad サブドメインに移動するための別のルールも追加できますか?

4

2 に答える 2

0

必要な数の書き換えルールを設定できます。注意しなければならないのは、それらを定義する順序だけですが、あなたの場合、それは問題にはなりません。ユーザーエージェントに「iphone」または「android」という単語が含まれている場合、以下はmobiサイトにリダイレクトされます。また、ユーザーエージェントに「ipad」という単語が含まれている場合は、ipadサイトにリダイレクトされます。

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} "iPhone|android" [NC]
RewriteRule ^(.*)$ http://mobi.Mywebsite.net/ [R=301,L]

RewriteCond %{HTTP_USER_AGENT} "iPad" [NC]
RewriteRule ^(.*)$ http://ipad.Mywebsite.net/ [R=301,L]
于 2012-08-01T00:29:30.207 に答える
0

書き換え条件のフラグは必要ありませんが、[OR]リダイレクト ループが発生している場合は、ホスト名を確認する必要があります。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} (iphone|android) [NC]
RewriteCond %{HTTP_HOST} !^mobi\. [NC]
RewriteRule ^ http://mobi.Mywebsite.net/ [L,R=301]

RewriteCond %{HTTP_USER_AGENT} ipad [NC]
RewriteCond %{HTTP_HOST} !^ipad\. [NC]
RewriteRule ^ http://ipad.Mywebsite.net/ [L,R=301]

これらはすべてのリクエストを と のルートにリダイレクトすることに注意してくださいmobi。リクエストipadされた URI は保持されません。つまり、iPad でmywebsite.net/some/path/ にアクセスすると、 ipad.mywebsite.net/リダイレクトされます。ipad.mywebsite.net/some/path/にリダイレクトされるようにしたい場合は、上記の 2 つのRewriteRuleディレクティブを次のように変更する必要があります。

RewriteRule ^(.*)$ http://mobi.Mywebsite.net/$1 [L,R=301]

RewriteRule ^(.*)$ http://ipad.Mywebsite.net/$1 [L,R=301]
于 2012-08-01T02:10:59.583 に答える