私がやろうとしていることは、当初考えていたよりも複雑だと思います。最初の部分は簡単です。.htaccess を使用して、モバイル ブラウザを別のドメインの Web サイトの「モバイル」バージョンにリダイレクトしています。「非モバイル」サイトのルートにある .htaccess の内容は次のとおりです。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} android.+mobile|iphone [NC]
RewriteRule ^(.*)$ http://m.domain.tld%{REQUEST_URI} [R]
2 番目の部分では、いくつかの複雑さが追加されます。モバイル ドメインで .htaccess を使用して、ほとんどのリクエストをルート ディレクトリの index.php にリダイレクトしています。モバイル サイトのルートにある .htaccess の内容は次のとおりです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*) index.php
モバイル以外のサイトに送信されたリクエストにドメイン名のみが含まれている場合、これはすべて期待どおりに機能します。
http://www.domain.tld
にリダイレクトされます
http://m.domain.tld
問題ありません。
また、モバイルブラウザが読み込まれる場合
http://m.domain.tld/abc
期待どおりに動作します。モバイル ドメインのルートにある index.php が読み込まれ、リクエスト URL が解析され、値「abc」が変数に割り当てられます。
ただし、ナビゲートしようとすると、物事が奇妙に故障します
http://www.domain.tld/abc
モバイルブラウザで。これにより、非モバイルファイルが生成されます。
http://www.domain.tld/abc/index.php
ブラウザに読み込まれ、モバイルドメインの CSS でフォーマットされます。実行したい最初のリダイレクトは実行されませんが、CSS ファイルのような後続のリクエストはリダイレクトされているようです。両方のドメインが同じサーバー上の vhost です。
誰かが私がやろうとしていることを整理して解決策を提供できますか?
ありがとう、デイブ