मैं Nginx equivalent के लिए निम्न mod_rewrite
नियम परिवर्तित करने के लिए देख रहा हूँ:मैं mod_rewrite (QSA विकल्प) को Nginx समकक्ष में कैसे परिवर्तित करूं?
RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]
अब तक मेरे पास है:
rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;
समस्या है (मुझे लगता है कि!) क्वेरी स्ट्रिंग नहीं है संलग्न हो जाओ। मुझे Nginx को QSA
तर्क पोर्ट करने का कोई तरीका नहीं मिला है।
rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
टिप्पणी हटा दी गई – Zoltan
यह सही है। दस्तावेज़ (http://nginx.org/en/docs/http/ngx_http_rewrite_module.html पर) कहते हैं: "यदि प्रतिस्थापन स्ट्रिंग में नए अनुरोध तर्क शामिल हैं, तो पिछले अनुरोध तर्क उनके बाद जोड़े गए हैं।" (नोट: "यदि यह अवांछित है, तो प्रतिस्थापन स्ट्रिंग के अंत में एक प्रश्न चिह्न डालने से उन्हें बचाया जाता है") – Zoltan