私はこれに対する解決策を見つけようとしましたが、他の406の問題に対する解決策は私を助けませんでした。Apache 406 Accept:headerを指定しても受け入れられません
MacでPHPとApache Webサーバーを有効にしました。 :私は、「アプリケーション/ JSONを受け入れる」を除外した場合、
$ curl -X GET -H "Accept: application/json" http://localhost/test/tester
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>406 Not Acceptable</title>
</head><body>
<h1>Not Acceptable</h1>
<p>An appropriate representation of the requested resource /test/tester could not be found on this server.</p>
Available variants:
<ul>
<li><a href="tester.php">tester.php</a> , type application/x-httpd-php</li>
</ul>
</body></html>
しかし:ヘッダセット、それが406エラーで失敗します。私は、私は同意するとの要求を渡す(POSTまたはGET)場合ことを発見しました要求はエラーなしで実行されます。
私は(テスト/ tester.phpを同じディレクトリにある)、この試験/ tester.varを追加してみました:
URI: tester
Content-type: application/json
URI: tester.php
私の意図は、とのリクエストを処理するようにApacheに指示した「同意する:アプリケーション/ JSON」 tester.phpを実行してください。しかし、私の助けにはなりませんでした(私のhttpd.confファイルの中に 'IfModule mime_module'の下に 'AddHandler type-map .var'を追加してサーバを再起動しました)。
「mod_securityの」を設定する表示されませんが、私はとにかく私のテスト/ディレクトリに次の.htaccessを追加しました:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
はこれらは私がなしで、ネット上で見つかったがために働いているソリューションです私。
アイデア?
何が原因で問題が発生しますか? MacでChromeからajax POSTリクエストを作成するときに同じ問題が発生していますが、残りのOSやウェブブラウザでうまく動作しています –