2012-12-20 8 views
8

मेरे पास PHP-FPM सेट अप के साथ एक Nginx HTTP सर्वर है और लगभग सब कुछ ठीक काम करता है। मैं path/to/file पर जाने में सक्षम होना चाहता हूं और यह मुझे index.php?url=path/to/file देता है, जो यह करता है। हालांकि, यह वास्तविक PHP डाउनलोड करता है, यह ब्राउज़र में इसे निष्पादित नहीं करेगा। मुझे यकीन नहीं है कि इसका क्या कारण है।PHP-FPM और Nginx पुन: लिखने के कारण

Nginx विन्यास:

server { 
    listen 80; 
    server_name sandbox.domain.tld; 
    access_log /path/to/domain/log/sandbox.access.log; 
    error_log /path/to/domain/log/sandbox.error.log; 

    location/{ 
     root /path/to/sandbox; 
     index index.php; 

     if (!-e $request_filename) { 
      rewrite ^/beta/(.+)$ /beta/index.php?url=$1 break; 
     } 
    } 

    location ~ \.php$ { 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     include /usr/local/nginx/conf/fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME /path/to/sandbox$fastcgi_script_name; 
    } 
+0

क्या आप nginx कॉन्फ़िगरेशन पोस्ट करना चाहते हैं? ऐसा लगता है कि जब PHP का उपयोग किया जा रहा है तो सीजीआई अनुरोध का आह्वान करने के लिए रूटिंग सेट नहीं है। – plasmid87

+0

मैंने conf फ़ाइल जोड़ दी। – will

उत्तर

19

rewrite ^/beta/(.+)$ /beta/index.php?url=$1 last; break;

कौन सा करने के लिए nginx मिलना चाहिए करने के लिए

rewrite ^/beta/(.+)$ /beta/index.php?url=$1 break; बदलने का प्रयास करें फिर से पढ़ यूआरआई और यह प्रक्रिया तदनुसार।

+0

आपको बहुत बहुत धन्यवाद! वह सही काम किया। – will

+0

आपको बहुत बहुत धन्यवाद! – vigo