Αντιστοιχίστε την τοποθεσία με βάση την επέκταση αρχείου με το NGINX
Δημοσιεύθηκε: 15 Φεβρουαρίου 2025 στις 1:40:59 π.μ. UTC
Τελευταία ενημέρωση: 12 Ιανουαρίου 2026 στις 8:35:40 π.μ. 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 που κάνει κάποιο είδος προεπεξεργασίας ή μπορεί απλώς να θέλετε να διαβάσετε τα αρχεία από φακέλους διαφορετικούς από αυτούς που φαίνονται στο κοινό, οι δυνατότητες είναι ατελείωτες ;-)
