2007年06月08日

Softbank 3G携帯で406 Not Acceptableエラーが出た場合

c6ae7eab.jpg気付かないとかなりハマるのでちょっとメモ。
PHPであるURLだけが、Softbank 3G携帯だと「406 Not Acceptable」エラーになってしまった場合、次のような理由があります。

・Apacheでmod_negotiationを有効にしている
・Apacheで該当ディレクトリのMultiViewsが有効になっている
・スクリプト hoge.php を hoge/parameter1/2.... のような形式でアクセスしている

これをやるとSoftbank 3G携帯でエラーになります。
2G携帯ではならないので結構気付くまでハマるんですね〜。
ようは拡張子が省略されているのでmod_negotiationの機能によって検索してくれるんですが、携帯側が余計な注文(Acceptヘッダ)を出すからエラーになってしまうのです。

解決方法はいくつかありますが、手っ取り早い方法としては.htaccess(or httpd.conf)に以下のような記述をすると解決できます。
<FilesMatch "^hoge$">
ForceType application/x-httpd-php
</FilesMatch>
これでハマっている方はお試しを。

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶:
 
 
月別アーカイブ