मैं एक उपनाम स्थापित करने की कोशिश कर रहा हूं /phpmyadmin/
, जब कोई पहुंचता है , तो nginx इसे /home/phpmyadmin/
सामान्य दस्तावेज़ रूट के बजाय से खींच लेगा । हालाँकि, हर बार जब मैं URL को खींचता हूँ, तो यह मुझे सभी आइटमों पर 404 देता है जो fastcgi के माध्यम से नहीं खींचे जाते हैं। Fastcgi ठीक काम कर रही है, जबकि बाकी नहीं है। strace
मुझे बता रहा है कि यह सामान्य दस्तावेज़ रूट से और सब कुछ खींचने की कोशिश कर रहा है, फिर भी मैं यह पता नहीं लगा सकता कि क्यों। किसी को कुछ जानकारी प्रदान कर सकते हैं?
यहाँ मेरे विन्यास का प्रासंगिक हिस्सा है:
location ~ ^/phpmyadmin/(.+\.php)$
{
include fcgi.conf;
fastcgi_index index.php;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
}
location /phpmyadmin
{
alias /home/phpmyadmin/;
}
/
उर्फ में औरlocation
निर्देश, का अनुरोध /phpmyadminfile
वास्तव में आप मिल जाएगा /home/phpmyadminfile
। इस सवाल के लिए कि प्रश्न में विन्यास क्यों काम नहीं करता है, यह मेरे लिए सही लगता है, इसलिए मुझे संदेह है कि कोई अन्य location
निर्देश नहीं दिखाया गया है जो कि इच्छित नहीं होने पर मेल खा रहा है। इस मामले में, जैसा कि उपसर्ग के alias
साथ समाप्त होता है location
, nginx डॉक्स root /home;
इसके बजाय का उपयोग करने का सुझाव देते हैं ।