モバイルデバイスをURLパスを維持しながら別のドメインにリダイレクトできるhtaccessスニペットが必要ですが、ajaxコールをフィルタリングします。urlとajax呼び出しのフィルタリングを維持したhtaccessモバイルリダイレクト
例:
www.website.it/project/test => m.website.it/project/test
モバイルデバイスをURLパスを維持しながら別のドメインにリダイレクトできるhtaccessスニペットが必要ですが、ajaxコールをフィルタリングします。urlとajax呼び出しのフィルタリングを維持したhtaccessモバイルリダイレクト
例:
www.website.it/project/test => m.website.it/project/test
これを試してみてください。
# 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]
はほとんどの携帯電話を検出しなければならない、と下部のルールはすべてをあなたのサブドメインにリダイレクトする必要があります。
リダイレクトは動作しますが、ajax呼び出しはフィルタリングされません。 – keepyourweb
@keepyourwebファイル/ディレクトリが存在するかどうかを確認するために更新しました。あなたのURLを書き直していて、特定のファイルのみがajaxを実行するために存在する場合には – JKirchartz
okです。このようにajax呼び出しはリダイレクトされず、しかし働かないでください – keepyourweb
'ajax'呼び出しをフィルタリングして通常のドメインに移動する必要があります。 – JKirchartz
はい、モバイルサイトは「通常のドメイン」へのajax呼び出しを行います – keepyourweb
はすべて同じディレクトリにあるあなたのajaxファイルですか? 'domain.com/ajax'のように? apacheは明らかに 'x_requested_with'ヘッダを気に入らないので、ここを見てください:http://stackoverflow.com/questions/3466802/deny-ajax-file-access-using-htaccess – JKirchartz