さまざまなモバイルデバイスをテストし、ユーザーエージェントがiPhoneと一致する場合、またはAndroidデバイス。
エラーページを使用して、デバイスごとにカスタムスタイルの404/500サーバーエラーページにユーザーをリダイレクトしようとしています。
理想的には、そこにある変数をテストしてから、カスタムErrorDocument文字列を記述できるようにしたいと思います。しかし、この場合、Apacheは機能していないようです。
環境変数のApacheconfファイルでif/elseテストを構築する方法はありますか?
Apacheのバージョン2.3以降、IF構造を利用できるようになりました。 Apacheのドキュメントで説明されています 。
ErrorDocument
は条件付きのものを許可しませんが、内部リダイレクトを行います。
Mod_rewriteでこれを達成できるはずです:
ErrorDocument 404 /normal_404.html
RewriteEngine on
RewriteCond %{ENV:device:.iphone} 1
RewriteRule ^/normal_404.html$ /iphone_404.html [L]