Αντιστοιχίστε την τοποθεσία με βάση την επέκταση αρχείου με το NGINX
Δημοσιεύθηκε: 15 Φεβρουαρίου 2025 στις 1:40:59 π.μ. UTC
Αυτό το άρθρο εξηγεί πώς να κάνετε αντιστοίχιση μοτίβων με βάση τις επεκτάσεις αρχείων σε περιβάλλοντα τοποθεσίας στο NGINX, χρήσιμο για την επανεγγραφή διευθύνσεων URL ή τον διαφορετικό χειρισμό αρχείων ανάλογα με τον τύπο τους.
Match Location Based on File Extension with NGINX
Οι πληροφορίες σε αυτήν την ανάρτηση βασίζονται στο NGINX 1.4.6 που εκτελείται σε Ubuntu Server 14.04 x64. Μπορεί να ισχύει ή να μην ισχύει για άλλες εκδόσεις.
Δεν είμαι τόσο καλός στις κανονικές εκφράσεις (κάτι που μάλλον θα έπρεπε να το δουλέψω, το ξέρω), γι' αυτό συχνά χρειάζεται να το διαβάσω όταν πρέπει να κάνω περισσότερα από την απλούστερη αντιστοίχιση μοτίβων, για παράδειγμα, στο πλαίσιο τοποθεσίας του NGINX.
Αυτό που είναι πολύ χρήσιμο εάν χρειάζεται να χειριστείτε διαφορετικούς τύπους αρχείων είναι η δυνατότητα αντιστοίχισης μιας τοποθεσίας με βάση την επέκταση του ζητούμενου αρχείου. Και είναι επίσης πολύ εύκολο, η οδηγία τοποθεσίας σας θα μπορούσε απλώς να μοιάζει με αυτό:
{
// do something here
}
Φυσικά, μπορείτε απλώς να αλλάξετε τις επεκτάσεις σε ό,τι χρειάζεστε.
Το παραπάνω παράδειγμα είναι χωρίς διάκριση πεζών-κεφαλαίων (για παράδειγμα, θα ταιριάζει και με τα .js και .JS). Εάν θέλετε να έχει διάκριση πεζών-κεφαλαίων, απλώς αφαιρέστε το * μετά το ~.
Το τι θα κάνετε με τον αγώνα εξαρτάται από εσάς. τυπικά, θα το ξαναγράψετε σε ένα back-end που κάνει κάποιο είδος προεπεξεργασίας ή μπορεί απλώς να θέλετε να διαβάσετε τα αρχεία από άλλους φακέλους εκτός από αυτό που φαίνεται στο κοινό, οι δυνατότητες είναι ατελείωτες ;-)