Nginx 403 त्रुटि: [फ़ोल्डर] का निर्देशिका सूचकांक निषिद्ध है


183

मेरे पास 3 डोमेन नाम हैं और Nginx का उपयोग करके एक सर्वर (एक डिजिटल महासागर छोटी बूंद) पर सभी 3 साइटों की मेजबानी करने की कोशिश कर रहा हूं।

mysite1.name mysite2.name mysite3.name

उनमें से केवल 1 काम करता है। अन्य दो परिणाम 403 त्रुटियों में (उसी तरह)।

मेरे nginx त्रुटि लॉग में, मैं देखता हूं [error] 13108#0: *1 directory index of "/usr/share/nginx/mysite2.name/live/" is forbidden:।

मेरी साइट-सक्षम कॉन्फ़िगरेशन है:

server {
        server_name www.mysite2.name;
        return 301 $scheme://mysite2.name$request_uri;
}
server {
        server_name     mysite2.name;

        root /usr/share/nginx/mysite2.name/live/;
        index index.html index.htm index.php;

        location / {
                try_files $uri $uri/ /index.html index.php;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

सभी 3 साइटों में लगभग समान कॉन्फ़िगरेशन फ़ाइलें हैं।

प्रत्येक साइट की फाइलें /usr/share/nginx/mysite1.name/someFolder जैसे फ़ोल्डर में हैं, और फिर /usr/share/nginx/mysite1.name/live उस के लिए एक सहानुभूति है। (Mysite2 और mysite3 के लिए भी।)

मैंने Nginx 403 को सभी फ़ाइलों के लिए निषिद्ध देखा है, लेकिन इससे कोई मदद नहीं मिली।

क्या गलत हो सकता है पर कोई विचार?


24
मुझे लगता है कि आपके पास index.html index.phpफाइलें गायब हैं, क्या आपने यह सुनिश्चित किया है कि वे उस फ़ोल्डर में मौजूद हैं?
मोहम्मद अबूशैदी

अरे आप सही कह रहे हैं; 2 साइटें जो काम नहीं कर रही हैं, एक लारवेल प्रोजेक्ट (जिसमें / public सबफ़ोल्डर में index.php है) और एक पुराना CodeIgniter प्रोजेक्ट (जिसमें / public_web सबफ़ोल्डर में index.php है)। लेकिन मुझे यकीन नहीं है कि साइटों को काम करने के लिए अपने कॉन्फ़िगरेशन को कैसे बदलना है।
रयान

जैसे @MohammadAbuShady ने कहा, मेरे पास फ़ोल्डर में कोई इंडेक्स फ़ाइल नहीं थी और मुझे यह त्रुटि मिली।
अंजन

मुझे यह त्रुटि फिर से मिली, लेकिन इस बार समस्या यह थी कि मैं गलती rootसे /Users/myUsername/code/appइसके बजाय सेट कर दूंगा /Users/myUsername/code/app/public
रेयान

यह तब होता है जब सर्वर चमकता है। विवरण
ओल्डफ़ार्ट

जवाबों:


171

यदि आपके पास निर्देशिका अनुक्रमण बंद है, और यह समस्या आ रही है, तो यह संभवतः है क्योंकि आपके द्वारा उपयोग किए जा रहे try_files में निर्देशिका विकल्प है:

location / {
  try_files $uri $uri/ /index.html index.php;
}                 ^ that is the issue

इसे निकालें और यह काम करना चाहिए:

location / {
  try_files $uri /index.html index.php;
} 

ऐसा क्यूँ होता है

TL; DR: ऐसा इसलिए होता है क्योंकि nginx डायरेक्टरी को इंडेक्स करने की कोशिश करेगा, और खुद ही ब्लॉक हो जाएगा। ओपी द्वारा उल्लिखित त्रुटि को फेंकना।

try_files $uri $uri/मतलब, रूट डायरेक्टरी से, द्वारा बताई गई फ़ाइल को आज़माएं uri, अगर वह मौजूद नहीं है, तो इसके बजाय (इसलिए /) निर्देशिका का प्रयास करें । जब nginx किसी डायरेक्टरी को एक्सेस करता है, तो वह इसे इंडेक्स करने की कोशिश करता है और इसके अंदर मौजूद फाइल्स की लिस्ट को ब्राउजर / क्लाइंट को लौटाता है, हालाँकि डिफॉल्ट डाइरेक्टरी इंडेक्सिंग डिसेबल होती है, और इसलिए यह "Nginx 403 एरर: डायरेक्टरी इंडेक्स [] फोल्डर को लौटाता है निषिद्ध है"।

निर्देशिका अनुक्रमण को autoindexविकल्प द्वारा नियंत्रित किया जाता है: https://nginx.org/en/docs/http/ngx_http_autoindex_module.html


यह वास्तव में मैं कर रहा था समस्या है। मुझे समझ में नहीं आ रहा try_filesथा कि index.phpमैं कोशिश क्यों नहीं कर रहा था , मैं सिर्फ "डायरेक्शन इंडेक्स ऑफ ... मना है" के साथ 403 प्राप्त करता रहा
ट्रैविस डी

4
@ जेसीएम, क्या आप इस बात का स्पष्टीकरण जोड़ेंगे कि$uri/ समस्या क्यों पैदा हो रही है?
इयान दून

के रूप में अच्छी तरह से मेरा हल
alariva

1
मेरी भी यही त्रुटि थी। मेरे पास 2 साइटें थीं, दोनों एक सबडोमेन में। $ उरई को हटाकर / छल किया। धन्यवाद!
जीवाजीवन

5
@luminol का try_files $uri $uri/अर्थ है, वेब रूट से, uri द्वारा बताई गई फ़ाइल को आज़माएं, यदि वह मौजूद नहीं है, तो इसके बजाय एक निर्देशिका का प्रयास करें (इसलिए /)। जब nginx किसी डायरेक्टरी को एक्सेस करता है, तो वह इसे इंडेक्स करने की कोशिश करता है और इसके अंदर मौजूद फाइल्स की लिस्ट को ब्राउजर / क्लाइंट को लौटाता है, हालाँकि डिफॉल्ट डाइरेक्टरी इंडेक्सिंग डिसेबल होती है, और इसलिए यह "Nginx 403 एरर: डायरेक्टरी इंडेक्स [] फोल्डर को लौटाता है निषिद्ध है"। निर्देशिका अनुक्रमण autoindexविकल्प द्वारा नियंत्रित किया जाता है: nginx.org/en/docs/http/ngx_http_autoindex_module.html
JCM

67

यहाँ विन्यास है कि काम करता है:

server {
    server_name www.mysite2.name;
    return 301 $scheme://mysite2.name$request_uri;
}
server {
    #This config is based on https://github.com/daylerees/laravel-website-configs/blob/6db24701073dbe34d2d58fea3a3c6b3c0cd5685b/nginx.conf
    server_name mysite2.name;

     # The location of our project's public directory.
    root /usr/share/nginx/mysite2/live/public/;

     # Point index to the Laravel front controller.
    index           index.php;

    location / {
        # URLs to attempt, including pretty ones.
        try_files   $uri $uri/ /index.php?$query_string;
    }

    # Remove trailing slash to please routing system.
    if (!-d $request_filename) {
            rewrite     ^/(.+)/$ /$1 permanent;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #   # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #   # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param                   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

}

तब ब्राउज़र में एकमात्र आउटपुट लारवेल त्रुटि थी: "वूप्स, ऐसा लगता है कि कुछ गलत हो गया।"

न चलाएं chmod -R 777 app/storage( नोट करें )। किसी चीज को विश्व-योग्य बनाना खराब सुरक्षा है।

chmod -R 755 app/storage काम करता है और अधिक सुरक्षित है।


1
हाँ, आप लोग सही हैं; यह एक बुरा विचार है। मैं अपना जवाब अपडेट करूंगा। लोग stackoverflow.com/a/11996645/470749
रयान

1
आपके पास फ़ोल्डर समूह को नगीनक्स समूह में बदलने का विकल्प भी हो सकता है अर्थात www-dataडेबियन पर। फिर फ़ोल्डर पर भी सख्त अनुमतियाँ सेट करना जैसे: chmod -R 640 app/storageतब chown -R :www-data app/storage। इस तरह फाइलें केवल ऐप के मालिक और वेब सर्वर को दिखाई देती हैं। और कोई भी किसी भी संग्रहीत (संभवतः अपलोड की गई) फ़ाइलों को सीधे निष्पादित नहीं कर सकता है। Nginx को केवल फ़ाइलों तक पहुँचने के लिए पढ़ने की अनुमति चाहिए।
तारीफ

3
आत्म करने के लिए नोट: मैं सिर्फ इस Nginx 403 हो गया फिर से और फिर समस्या यह है कि मैंने गलती से दूर छोड़ दिया था public/पर root /usr/share/nginx/mysitename/public/;। जोड़ने public/और चलाने के बाद service nginx restartइसने काम किया।
रयान

खिड़कियों के बारे में क्या?
हिमांशु बंसल

58

यदि आप निर्देशिका सामग्री के उपयोग autoindex on;की सूची बनाने की कोशिश कर रहे हैं , जैसे:

location /somedir {
       autoindex on;
}

server {
        listen   80;
        server_name  domain.com www.domain.com;
        access_log  /var/...........................;
        root   /path/to/root;
        location / {
                index  index.php index.html index.htm;
        }
        location /somedir {
               autoindex on;
        }
}

9
मैं निश्चित रूप से नहीं चाहता autoindex on; मेरी निर्देशिका सामग्री को जनता के सामने उजागर करना एक बुरा विचार होगा।
रयान

5
@ रेयान यह हमेशा "आप क्या करना चाहते हैं?"
भार्गव नानकेलावा

13
यह पूरी तरह स्पष्ट है कि वह 403 त्रुटियों को दूर करना चाहता है और पूरी निर्देशिका सामग्री (ऊपर दी गई चर्चा को प्रदर्शित नहीं करने के लिए) प्रदर्शित करने के लिए वेबपेज प्राप्त करता है
jpmorris

21

मुझे
वेबपेज में समान त्रुटि --- "403 निषिद्ध" का सामना करना पड़ा
--- "13: अनुमति अस्वीकृत" त्रुटि लॉग में /var/log/nginx/error.log पर

नीचे दिए गए 3 चरणों ने मेरे लिए काम किया:

1: टर्मिनल खोलें, नीचे कुछ देखा

user1@comp1:/home/www/

तो, मेरा उपयोगकर्ता नाम "user1" है (ऊपर से)

2: /etc/nginx/nginx.conf में परिवर्तित उपयोगकर्ता

# user www-data;
user user1;

3: नगीने को रीलोड किया

sudo nginx -s reload  

इसके अतिरिक्त, मैंने फ़ाइल / फ़ोल्डर अनुमतियों (इससे पहले कि मैं 3 चरणों से ऊपर)
(755 से मेरी निर्देशिका में, / dir1 /) और उस निर्देशिका के अंतर्गत फ़ाइलों के लिए 644) लागू किया है:
(मुझे यकीन नहीं है, अगर यह अतिरिक्त कदम वास्तव में है आवश्यक, बस 3 कदम से ऊपर पर्याप्त हो सकता है):

chmod 755 ./dir1/
chmod 644 ./dir1/*.*

आशा है कि यह किसी को जल्दी मदद करता है। शुभकामनाएँ।


1
धन्यवाद भाई, मैं एक ही मुद्दा था, और यह अनुमतियों के कारण था। मैंने फ़ोल्डर और फ़ाइल अनुमतियाँ सेट की हैं, और अब यह ठीक काम कर रहा है।
अल्ताफ हुसैन

2
सुनकर खुशी हुई कि मैं मददगार हूं। (दूसरों की मदद करें, अपने ज्ञात डोमेन में, अपने खाली समय में, यदि संभव हो तो, बिना किसी उम्मीद के वापस लौटें)
मनोहर रेड्डी पोरेड्डी

यह सुनकर खुशी हुई।
मनोहर रेड्डी ने 27

10

वास्तव में कई चीजें हैं जिन्हें आपको जांचना होगा। 1. अपने nginx की चल रही स्थिति की जाँच करें

ps -ef|grep nginx

ps aux|grep nginx|grep -v grep

यहां हमें यह जांचने की आवश्यकता है कि कौन नगनेक्स चला रहा है। कृपया उपयोगकर्ता और समूह को याद रखें

  1. फ़ोल्डर की पहुंच स्थिति जांचें

    ls -alt

  2. Nginx के साथ फ़ोल्डर की स्थिति के साथ तुलना करें

(1) यदि फ़ोल्डर की पहुँच स्थिति ठीक नहीं है

sudo chmod 755 /your_folder_path

(2) यदि फ़ोल्डर का उपयोगकर्ता और समूह नंगेक्स के चलने के साथ समान नहीं है

sudo chown your_user_name:your_group_name /your_folder_path

और nginx के चल रहे उपयोगकर्ता नाम और समूह को बदलें

nginx -h

खोजने के लिए कि nginx कॉन्फ़िगरेशन फ़ाइल कहाँ है

sudo vi /your_nginx_configuration_file

//in the file change its user and group
user your_user_name your_group_name;

//restart your nginx
sudo nginx -s reload

क्योंकि nginx डिफ़ॉल्ट रनिंग का उपयोगकर्ता कोई नहीं है और समूह कोई भी नहीं है। यदि हम इस उपयोगकर्ता और समूह को नोटिस नहीं करते हैं, तो 403 पेश किया जाएगा।


8

मुझे एक ही समस्या थी, लॉगफ़ाइल ने मुझे यह त्रुटि दिखाई:

2016/03/30 14:35:51 [error] 11915#0: *3 directory index of "path_scripts/viewerjs/" is forbidden, client: IP.IP.IP.IP,     server: domain.com, request: "GET /scripts/viewerjs/ HTTP/1.1", host: "domain", referrer: "domain.com/new_project/do_update"

मैं codeignitor फ्रेमवर्क के साथ एक PHP ऐप होस्ट कर रहा हूं। जब मैं अपलोड की गई फ़ाइलों को देखना चाहता था, तो मुझे एक मिला 403 Error

समस्या यह थी, कि nginx.conf ठीक से परिभाषित नहीं किया गया था। के बजाय

index index.html index.htm index.php

मैं केवल शामिल

index index.php

मेरे पास मेरी जड़ में एक सूचकांक है। मुझे लगा कि मैं काफी था, मैं गलत था;) संकेत ने मुझे NginxL सीमाएं दीं


धन्यवाद आदमी .. मैं एक ही नाव के साथ था .. मैं घंटों लगा रहा कि मेरा वर्डप्रेस काम क्यों नहीं कर रहा है! काम करने के लिए मेरे वर्डप्रेस इंस्टॉलेशन के लिए nginx मुख्य include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; index index.html index.htm index.php;
कॉन्फिगरेशन

6

यह आपको Nginx नीति (उदा। "इनकार") के कारण मिल सकता है, या आपको यह Nginx misconfiguration के कारण मिल सकता है, या हो सकता है कि आपको फ़ाइल सिस्टम प्रतिबंधों के कारण यह प्राप्त हो।

आप यह निर्धारित कर सकते हैं कि इसकी बाद की (और संभवतः स्ट्रेस का उपयोग करके एक ग़लतफ़हमी के सबूत देखें (इसके अलावा, ओपी की उस तक पहुंच नहीं होगी):

# pidof nginx
11853 11852

# strace -p 11853 -p 11852 -e trace=file -f
Process 11853 attached - interrupt to quit
Process 11852 attached - interrupt to quit
[pid 11853] stat("/var/www/html/kibanaindex.html", 0x7ffe04e93000) = -1 ENOENT (No such file or directory)
[pid 11853] stat("/var/www/html/kibana", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
^CProcess 11853 detached
Process 11852 detached

यहाँ मैं एक परीक्षा के दौरान नग्नेक्स द्वारा की गई फाइलसिस्टम गतिविधि का निरीक्षण कर रहा हूं (मेरे पास आपकी जैसी ही त्रुटि थी)।

यहाँ उस समय मेरे कॉन्फिग का एक चयनित हिस्सा है

    location /kibana/3/ {
        alias /var/www/html/kibana;
        index index.html;
    }

मेरे मामले में, जैसा कि स्पष्ट रूप से पता चलता है, "इंडेक्स" में "इंडेक्स" में शामिल होने की उम्मीद नहीं थी, जो कि मुझे उम्मीद थी, और ऐसा लगता है कि मुझे हमेशा एक / के साथ निर्देशिका नामों को जोड़ने की आदत है, इसलिए मेरे मामले में, निम्नलिखित ने काम किया:

    location /kibana/3/ {
        alias /var/www/html/kibana/;
        index index.html;
    }

इसके लिए धन्यवाद। मुझे पता था कि मुझे अनुमति की समस्या नहीं है और आपकी टिप्पणी से मुझे इसका समाधान खोजने में मदद मिली। मैंने अपने उर्फ ​​के अंत में एक "/" जोड़ा और यह ठीक काम करता है।
काज़ेल

आप मेरे हीरो @Cameron केर हैं, मेरे अनुभव के आधार पर समस्या nginx उठाना है 403 अल्गारी डायरेक्टरी जैसे फाइलों पर नहीं मिली /home/web/public। क्यों nginx इन नहीं मिली फ़ाइलों का उपयोग करने की कोशिश करते हैं, क्योंकि मैं इस लाइन को हटाने के लिए भूल गया index index.html index.htm index.nginx-debian.html;क्योंकि thats फ़ाइलें मेरे सार्वजनिक डायर के अंदर नहीं है।
अगुंग प्रिसिएतो

4

यह कुछ अनुमतियों की समस्या जैसा दिखता है।

Mysite1 में किए गए सभी परमिटों को अन्य साइट पर सेट करने का प्रयास करें।

डिफ़ॉल्ट रूप से फ़ाइल अनुमतियाँ 644 होनी चाहिए और 755 dirs होनी चाहिए। यह भी जांचें कि क्या nginx चलाने वाले उपयोगकर्ता के पास उस फ़ाइल और dirs को पढ़ने की अनुमति है या नहीं।


3

पथ try_filesको इंगित करने के लिए परिवर्तित करें index.php, "लारवेल" में जिसका आपने उल्लेख किया है कि यह कुछ इस तरह होना चाहिए

location / {
    try_files $uri $uri/ /public/index.php$request_uri;
}

और "कोडिग्निटर" प्रोजेक्ट में इसे इस तरह आज़माएँ

location / {
    try_files $uri $uri/ /public_web/index.php$request_uri;
}

3

क्योंकि आप उपयोग कर रहे हैं php-fpm, आपको यह सुनिश्चित करना चाहिए कि php-fpmउपयोगकर्ता जैसा है वैसा ही हैnginx

जाँच करें /etc/php-fpm.d/www.confऔर php उपयोगकर्ता और समूह को सेट करेंnginxअगर यह नहीं है, तो ।

php-fpmउपयोगकर्ता लिखने की अनुमति की जरूरत है।


2

आपको अपनी स्टैटिक फाइल्स डायरेक्टरी पर अनुमति की आवश्यकता है। इसके अलावा, वे अपने nginx उपयोगकर्ता और समूह द्वारा chown'ed होना चाहिए।


1
मुझे लगता है कि उसे केवल नगीने की प्रक्रिया को पढ़ने की आवश्यकता है?
तारीफ

2
location ~* \.php$ {
    ...
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
}

डिफ़ॉल्ट बदलें

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

सेवा

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

मेरी समस्या हल कर दी।


1
6833#0: *1 directory index of "/path/to/your/app" is forbidden, client: 127.0.0.1, server: lol.com, request: "GET / HTTP/1.1", host: "localhost"    

मैं Ubuntu 15.10 चला रहा था और एक साधारण कारण के कारण 403 निषिद्ध त्रुटि का सामना करना पड़ा। Nginx.conf (nginx के लिए कॉन्फ़िगरेशन फ़ाइल) में, उपयोगकर्ता 'www-data' था। एक बार जब मैंने उपयोगकर्ता नाम को [मेरे उपयोगकर्ता नाम] में बदल दिया, तो यह ठीक मान लिया कि मेरे उपयोगकर्ता नाम के लिए आवश्यक अनुमति दी गई है। मेरे बाद कदम:

chmod 755 /path/to/your/app    

मेरी कॉन्फ़िगरेशन फ़ाइल इस तरह दिखती है:

**user [my username]**;#I made the change here.
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}

http {

##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# SSL Settings
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;


server {
    listen 80;

    server_name My_Server;

    access_log  /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;

    location / {
        proxy_pass         http://127.0.0.1:8000;
        proxy_redirect     off;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}
}

1

मेरे लिए समस्या यह थी कि बेस रूट के अलावा कोई भी रूट काम कर रहा था, इस लाइन को जोड़ने से मेरी समस्या ठीक हो गई:

index           index.php;

पूरी बात:

server {

    server_name example.dev;
    root /var/www/example/public;
    index           index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

1

इस मुद्दे को ठीक करने के लिए मैंने एक पूरी रात बिताई। यहाँ इस कहानी पर मेरे दो सेंट हैं,

जांचें कि क्या आप hhvm का उपयोग php दुभाषिया के रूप में कर रहे हैं । फिर यह संभव है कि यह पोर्ट 9000 पर सुन रहा है इसलिए आपको अपने वेब सर्वर के कॉन्फ़िगरेशन को संशोधित करना होगा।

यह एक साइड नोट है: यदि आप mysql का उपयोग कर रहे हैं, और hhvm से mysql के कनेक्शन असंभव हो जाते हैं, तो जाँच लें कि क्या आपने apparmor स्थापित किया है। इसे अक्षम करें।


0

मैंने अपनी समस्या का समाधान किया, अगर मैं अनुसरण की तरह कॉन्फ़िगर करता हूं:

location = /login {
    index  login2.html;
}

यह 403 त्रुटि दिखाएगा।

[error] 4212#2916: *2 directory index of "D:\path/to/login/" is forbidden

मैंने कोशिश की है autoindex on, लेकिन काम नहीं कर रहा। अगर मैं अपने कॉन्फ़िगर को इस तरह से बदलता हूं, तो यह काम करता है।

location = /login/ {
    index  login2.html;
}

मुझे लगता है कि सटीक मिलान, अगर यह एक पथ होना चाहिए एक निर्देशिका है।


0

जब आप निर्देशिका विकल्प रखना चाहते हैं, तो आप इस तरह $ uri के आगे index.php डाल सकते हैं।

try_files /index.php $uri $uri/
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.