/ / nginx + php-fpm पुनर्लेखन नियम काम नहीं कर रहा है - nginx, rewrite

nginx + php-fpm रिवाइट नियम काम नहीं कर रहा है - nginx, फिर से लिखें

मुझे यह विश्वास है,

    rewrite "^download/([0-9a-f]{32})/(.+)$" /download.php?h=$1&f=$2 last;
location / {
index index.html;
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php-fpm.apache.sock;
fastcgi_index index.html;
fastcgi_param SCRIPT_FILENAME $root_path$request_filename;
include fastcgi_params;
}

लेकिन जब मैं खुले यूआरएल की कोशिश करता हूं, http://example.com/download/d3ef6bbeaff9b429680bca646e8ee1cf/video.mp4 यह वापसी है 404 Not Found मैंने डालने की कोशिश की rule किसी में location, लेकिन यह मदद नहीं की है।
फ़ाइल के लिए सीधा लिंक http://example.com/download.php काम कर रहा है, काम के लिए क्या करना चाहिए rewrite ?
मैंने इसके बारे में कई सूत्र देखे, लेकिन समाधान ने मेरी मदद नहीं की, क्या गलत है?

सर्वर nginx + php-fpm पर

उत्तर:

उत्तर № 1 के लिए 1

नग्नेक्स का पुनर्लेखन हमेशा पूर्ण यूआरआई से मेल खाता है जो स्लैश से शुरू होता है। इसलिए आपको अपने पुनर्लेखन को ठीक करने की आवश्यकता है:

rewrite "^/download/([0-9a-f]{32})/(.+)$" /download.php?h=$1&f=$2 last;