Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Nginx so konfigurieren, dass Unterordner unterschiedlich bedient werden?

Wie kann ich Nginx so konfigurieren, dass Unterordner unterschiedlich bedient werden?

DDD
DDDOriginal
2024-11-22 10:21:10186Durchsuche

How Can I Configure Nginx to Serve Subfolders Differently?

Nginx-Standortkonfiguration für Unterordner

Bei der Nginx-Konfiguration ist die Verwaltung des Zugriffs auf Unterverzeichnisse entscheidend für die effektive Organisation von Website-Inhalten. Betrachten wir ein Szenario, in dem Sie zwei Unterordner, „/static“ und „/manage“, in einem Webstammverzeichnis haben.

Problem:

Sie müssen konfigurieren Nginx ermöglicht den Zugriff auf diese Unterordner wie folgt:

  • Ordner „/static“, auf den über den Stamm-URI zugegriffen werden kann (z. B. http://example.org/)
  • Ordner „/manage“, zugänglich unter „/manage“ (z. B. http://example.org/manage)

Lösung:

Um dieses Problem zu beheben, müssen Sie die Alias-Direktive für „/manage“ verwenden. Unterordner:

server {
    # ... (unchanged configuration)
    
    location ^~ /manage {
        alias /var/www/mysite/manage/public;
        index index.php;
        
        if (!-e $request_filename) { rewrite ^ /manage/index.php last; }
        
        location ~ \.php$ {
            if (!-f $request_filename) { return 404; }
            fastcgi_pass 127.0.0.1:9000;
            
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
    }
}

Alternative Lösung mit Root:

In einigen Fällen können Sie die Verwendung der Root-Direktive anstelle des Alias ​​in Betracht ziehen. Es erfordert jedoch einen verschachtelten Standortblock und ist im Allgemeinen weniger effizient für die Unterordnerverwaltung.

Zusätzliche Hinweise:

  • Der Modifikator ^~ stellt sicher, dass der Präfixspeicherort festgelegt wird hat Vorrang vor den Speicherorten regulärer Ausdrücke.
  • Die Anweisungen try_files und alias können aus bekannten Gründen nicht zusammen verwendet werden Fehler.
  • Die if-Direktive sollte mit Vorsicht gehandhabt werden, um unerwartetes Verhalten zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich Nginx so konfigurieren, dass Unterordner unterschiedlich bedient werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn