2012-04-02 6 views
1

モバイルデバイスをURLパスを維持しながら別のドメインにリダイレクトできるhtaccessスニペットが必要ですが、ajaxコールをフィルタリングします。urlとajax呼び出しのフィルタリングを維持したhtaccessモバイルリダイレクト

例:

www.website.it/project/test => m.website.it/project/test

+0

'ajax'呼び出しをフィルタリングして通常のドメインに移動する必要があります。 – JKirchartz

+0

はい、モバイルサイトは「通常のドメイン」へのajax呼び出しを行います – keepyourweb

+0

はすべて同じディレクトリにあるあなたのajaxファイルですか? 'domain.com/ajax'のように? apacheは明らかに 'x_requested_with'ヘッダを気に入らないので、ここを見てください:http://stackoverflow.com/questions/3466802/deny-ajax-file-access-using-htaccess – JKirchartz

答えて

0

これを試してみてください。

# don't rewrite if file or directory exist 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
# if the above doesn't work, you can try to ignore the directory like this: 
# RewriteRule ^ajax - [L,NC] 

# Check accept header for tell-tale signs of mobile devices 
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR] 

# Check User Agent for known mobile browsers 
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera mini|IEmobile|DoCoMo" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-|ipad|ipod|iphone"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|mobile safari|android"[NC] 

# Rewrite the URL to that of the mobile directory 
RewriteRule ^(.*)$ http://m.website.it/$1 [L,R=302] 

はほとんどの携帯電話を検出しなければならない、と下部のルールはすべてをあなたのサブドメインにリダイレクトする必要があります。

+0

リダイレクトは動作しますが、ajax呼び出しはフィルタリングされません。 – keepyourweb

+0

@keepyourwebファイル/ディレクトリが存在するかどうかを確認するために更新しました。あなたのURLを書き直していて、特定のファイルのみがajaxを実行するために存在する場合には – JKirchartz

+0

okです。このようにajax呼び出しはリダイレクトされず、しかし働かないでください – keepyourweb

関連する問題