2013-03-21 8 views
5

मैंने इस के लिए समाधान खोजने का प्रयास किया है लेकिन अन्य 406 समस्याओं के समाधान ने मेरी मदद नहीं की है।अपाचे 406 स्वीकार्य निर्दिष्ट करते समय स्वीकार्य नहीं है: हेडर

मैंने अपने मैक पर PHP और अपाचे वेब सर्वर सक्षम किया है। मैं ने पाया है कि अगर मैं एक अनुरोध (POST या GET) स्वीकार करें साथ पारित: हेडर सेट है, तो यह एक 406 त्रुटि के साथ विफल:

$ 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> 

हालांकि, अगर मैं बाहर निकालने के लिए "स्वीकार: आवेदन/json" बिना त्रुटि के निष्पादन का अनुरोध करें।

मैंने कोशिश की इस परीक्षण/tester.var (परीक्षा/tester.php रूप में एक ही निर्देशिका में) जोड़ने:

URI: tester 

Content-type: application/json 
URI: tester.php 

मेरे इरादे प्रत्यक्ष अपाचे के साथ अनुरोध को पूरा करने के लिए गया था "स्वीकार: आवेदन/json" tester.php निष्पादित करके। लेकिन इसने मेरी मदद नहीं की है (मैंने अपनी httpd.conf फ़ाइल के अंदर 'IfModule mime_module' के तहत 'AddHandler टाइप-मैप .var' भी जोड़ा और सर्वर को पुनरारंभ किया)।

'mod_security' विन्यस्त किया जा करने के लिए प्रकट नहीं होता है, लेकिन मैं वैसे भी अपने परीक्षण/निर्देशिका के लिए निम्न .htaccess कहा:

<IfModule mod_security.c> 
SecFilterEngine Off 
SecFilterScanPOST Off 
</IfModule> 

ये हैं समाधान है कि मैं कोई भी द्वारा नेट पर पाया लिए काम किया है मुझे।

कोई विचार?

उत्तर

1

मुझे अंत में एक फिक्स पता चला! जैसा कि मुझे संदेह था, * mod_security * मेरी समस्या से कोई लेना देना नहीं था।

यहाँ परिवर्तन है कि मैं /etc/apache2/httpd.conf के लिए किए गए हैं:

  1. सक्षम प्रकार "IfModule mime_module" में "AddHandler प्रकार- नक्शा वर" लाइन uncommenting द्वारा में नक्शे अनुभाग।
  2. जोड़ा गया दो "IfModule mime_module" अनुभाग पर लाइनों निम्नलिखित:

    AddType application/x-httpd-php .php 
    MultiviewsMatch Handlers Filters 
    

मेरी पीएचपी स्रोत निर्देशिका में, मैं एक tester.var एक ही निर्देशिका में tester.php के रूप में बनाया सामग्री के साथ:

Content-type: application/json 
    URI: tester.php 

यह सब अब अच्छा है।

+0

समस्या का कारण क्या है? मैक में क्रोम के माध्यम से AJAX POST अनुरोध करते समय मुझे एक ही समस्या है लेकिन बाकी ओएस और वेब ब्राउज़र के साथ ठीक काम कर रहा है –

संबंधित मुद्दे