2

誰かが私を助けてくれることを願っています。私のウェブサイトには、フルサイトと同じコンテンツを持つ対応するモバイルサイトがありますが、モバイルデバイス用に表示しています。基本的に、URL変数smsが存在しない限り、フルサイトからモバイルサイトにすべてのリクエストを送信したいと思います

だから私のフルサイトのhtaccessファイルにはこれがあります:

RewriteCond %{QUERY_STRING}     !sms=1         [NC]
RewriteRule ^(.*)    http://mobile.mysite.co.uk/$1 [QSA,NC]

しかし、www.mysite.co.uk / news / index.cfm&smsにアクセスすると、サイト全体で次のColdFusionエラーが発生します。

File not found: /news/index.cfm 

デバッグをオンにすると、CGI変数PATH_TRANSLATEDがから変更されていることに気付きました

C:\webistes\mysite\news\index.cfm

C:\JRun4\bin\http:\mobile.mysite.co.uk\news\index.cfm

何が起こっているのかわからないので困っていますか?どんな助けや洞察も大歓迎です。

さらに、ColdFusion 8のマルチサーバーインストールを実行しており、ColdFusion用に構成されたApacheを使用しています。

4

1 に答える 1

4

外部リダイレクトを作成したいようですが、RewriteRule現在は内部でのみURLを書き換えています。ルールにフラグRとフラグを追加して、違いが生じるかどうかを確認してください。L

# Stop and redirect immediately to the mobile site
RewriteCond %{QUERY_STRING}     !sms=1         [NC]
RewriteCond %{HTTP_HOST}        !^mobile
RewriteRule ^(.*)    http://mobile.mysite.co.uk/$1 [QSA,NC,R,L]

RewriteCondまた、両方のサイトが同じ場所を指している場合に、すでにモバイルサイトにアクセスしている場合にリダイレクトされないように、を追加しました(そうでない場合は削除できます。彼らがした場合にあなたの頭痛を救いたかった)。

于 2010-07-02T14:04:30.520 に答える