web-dev-qa-db-ja.com

Apache環境変数を使用してカスタムErrorDocumentを設定する

さまざまなモバイルデバイスをテストし、ユーザーエージェントがiPhoneと一致する場合、またはAndroidデバイス。

エラーページを使用して、デバイスごとにカスタムスタイルの404/500サーバーエラーページにユーザーをリダイレクトしようとしています。

理想的には、そこにある変数をテストしてから、カスタムErrorDocument文字列を記述できるようにしたいと思います。しかし、この場合、Apacheは機能していないようです。

環境変数のApacheconfファイルでif/elseテストを構築する方法はありますか?

1
Tad

Apacheのバージョン2.3以降、IF構造を利用できるようになりました。 Apacheのドキュメントで説明されています

3
sonic

ErrorDocumentは条件付きのものを許可しませんが、内部リダイレクトを行います。

Mod_rewriteでこれを達成できるはずです:

ErrorDocument 404 /normal_404.html

RewriteEngine on
RewriteCond %{ENV:device:.iphone} 1
RewriteRule ^/normal_404.html$ /iphone_404.html [L]
0
Shane Madden