0

モバイル ベースのリダイレクト用の .htaccess コードを探しています。計画では、ユーザーが 24 時間ごとに 1 回、yyy.org という Web サイトにリダイレクトされるようにする予定です。

私が必要としているのは、それらがモバイルの基準を満たしているかどうかを確認することです。その場合は、Cookie があるかどうかを確認します。両方とも当てはまる場合は、Cookie を渡して yyy.org サイトにリダイレクトします。

書き換え条件:

    $RewriteCond %{HTTP_USER_AGENT} (mobile|android|blackberry|brew|cldc|docomo|htc|j2me|micromax|lg|midp|mot|motorola|netfront|nokia|obigo|openweb|opera.mini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windows.ce) [NC]

他の可能なコード: これはまだ終わっていません:

   RewriteBase /
RewriteEngine On

# Check if mobile=1 is set and set cookie 'mobile' equal to 1
RewriteCond %{QUERY_STRING} (^|&)mobile=1(&|$)
RewriteRule ^ - [CO=mobile:1:%{HTTP_HOST}:1440]

# Check if mobile=0 is set and set cookie 'mobile' equal to 0
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [CO=mobile:0:%{HTTP_HOST}:1440]

# cookie can't be set and read in the same request so check
RewriteCond %{QUERY_STRING} (^|&)mobile=0(&|$)
RewriteRule ^ - [S=1]

# Check if this looks like a mobile device
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} (mobile|android|blackberry|brew|cldc|docomo|htc|j2me|micromax|lg|midp|mot|motorola|netfront|nokia|obigo|openweb|opera.mini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windows.ce) [NC]
RewriteCond %{HTTP:Profile}       !^$

# Check to make sure we haven't set the cookie before
RewriteCond %{HTTP:Cookie}        !\mobile=0(;|$)
# Now redirect to the mobile site
RewriteRule ^ http://yyyy.com%{REQUEST_URI} [R,L]

これは可能で、残りのコードは何ですか?

4

1 に答える 1

0

モバイル クライアントの場合は、それらをローカル スクリプトにリダイレクトしてから、スクリプト内の Cookie を確認し、Cookie の値に従って動作させることができますが、ユーザーとして、要求していないページにリダイレクトされるのは面倒です。

また、次のように Cookie に rewritecond を使用することもできます。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} lang=([^;]+) [NC]
RewriteRule ^(.*)$ /$1?lang=%1 [NC,L,QSA]

Cookie と htaccess の詳細: http://www.askapache.com/htaccess/htaccess-fresh.html#Cookie_Manipulation_Tests_mod_rewrite

于 2013-03-02T14:14:02.770 に答える