2012-04-17 9 views
0

私のウェブサイトmobileというサブドメインを作成しました。cPanelモバイルデバイスをそのサブドメインにリダイレクトしますが、実際のドメインへのAJAX呼び出しを行うjavascriptがあります。私はwebsite.com/mobile/...に行くこれらの呼び出しを構成しました。しかし、これらは進まず、...を私の/mobileに探していると思われますが、リクエストは.htaccessからwebsite.com/index.php?params=mobile/...に書き換えられるはずです。サブドメインがドメインへのリクエストを引き継ぎます

# redirect phones/tablets to mobile site 
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC] 
RewriteCond %{REQUEST_URI} !^/mobile [NC] 
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L,R=302] 

# not a file or directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# website.com/home => website.com/index.php?params=home 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

これは私のローカルマシン上ではなく、ライブサーバー上で動作します:

は、ここでの.htaccessです。私は

<VirtualHost *:80> 
    DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/website/mobile" 
    ServerName mobile.website.local 
</VirtualHost> 

経由でローカルにsudomainを作成して、それが完璧に動作します:私はmobile.website.localまたはwebsite.local/mobileに行くとき、私はモバイルサイトを取得し、私はwebsite.local/mobile/users/loginに行くとき、私はAJAX要求の正しいJSON出力を取得します。

mobileサブドメインを有効にしたままで/mobile/に保存することはできますが、最後の書き換えルールを使用してwebsite.com/mobile/...に転送するようリクエストすることはできますか?

ありがとうございます!

答えて

0

ただ、ファイルやディレクトリのステートメントを無視するように強制的に、あなた/モバイルのための特定のリダイレクトを追加します。

RewriteCond %{REQUEST_URI} ^/mobile [NC] 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

# redirect phones/tablets to mobile site 
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC] 
RewriteCond %{REQUEST_URI} !^/mobile [NC] 
RewriteCond %{QUERY_STRING} !^params=mobile(.*)$ 
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L] 

# not a file or directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# website.com/home => website.com/index.php?params=home 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

何か私が知っていると私は:)

+0

感謝を助けることができる場合、私は表示されます応答:)残念ながら、要求はまだ通過していません。私は他のリダイレクトの前にリダイレクトしようとしましたが、それもうまくいきませんでした。 – Garrett

+0

こんにちは、私はいくつかのテストを行ってきました、それは動作するように見えます、ファイル/ディレクトリステートメントの前にコードを入れていますか?私はもう少しテストをして、すぐにあなたに返信します。 –

+0

こんにちは@Garrett、htaccessファイルをもう一度テストできますか?私はちょうど新しいファイルで自分の投稿を編集しました。 –

関連する問題