Οι κανόνες του WordPress έχουν εξαιρέσεις, πάρα πολύ

apache wordpress

apache wordpressΤο WordPress έκανε ένα σημαντικό εξελικτικό βήμα προς τα εμπρός στην πλατφόρμα blogging, μεταφέροντάς το πιο κοντά σε ένα πλήρες σύστημα διαχείρισης περιεχομένου με παρακολούθηση αναθεωρήσεων, περισσότερη υποστήριξη για προσαρμοσμένα μενού και - την πιο ενδιαφέρουσα δυνατότητα για μένα - υποστήριξη πολλών ιστότοπων με αντιστοίχιση τομέα.

Εάν δεν είστε ανεπιθύμητο σύστημα διαχείρισης περιεχομένου, είναι εντάξει. Μπορείτε να παραλείψετε αμέσως μετά από αυτό το άρθρο. Όμως, για τους συναδέλφους μου techno-geeks, code-heads και apache-dabblers, θέλω να μοιραστώ κάτι ενδιαφέρον και κάτι δροσερό.

Το Multi-site είναι μια δυνατότητα που σας επιτρέπει να εκτελείτε οποιονδήποτε αριθμό ιστότοπων WordPress με μία μόνο εγκατάσταση WordPress. Εάν διαχειρίζεστε πολλούς ιστότοπους, είναι ωραίο επειδή μπορείτε να εγκαταστήσετε μια εγκεκριμένη ομάδα θεμάτων και γραφικών στοιχείων και να τα ενεργοποιήσετε για τους ιστότοπους των πελατών σας. Υπάρχουν μερικά τεχνικά εμπόδια για τη χαρτογράφηση των τομέων σας, αλλά η διαδικασία δεν είναι δύσκολη.

Ένας από τους προβληματικούς τομείς που εντόπισα είναι στην προσαρμογή θέματος. Δεδομένου ότι τα θέματα μπορούν να διατεθούν σε πολλούς ιστότοπους, τυχόν προσαρμογές που κάνετε σε ένα θέμα θα επηρεάσουν επίσης άλλους ιστότοπους που χρησιμοποιούν αυτό το θέμα στην εγκατάσταση πολλών ιστότοπων. Ο τρόπος μου είναι να αντιγράψω ένα θέμα πριν αρχίσω να προσαρμόζω και να ονομάσω με σαφήνεια το θέμα για τον ιστότοπο πελάτη για τον οποίο το διαμορφώνω.

Ένα άλλο ενδιαφέρον ζήτημα είναι τι συμβαίνει στο αρχείο .htaccess στον διακομιστή Apache. Το WordPress πρέπει να ξαναγράψει διαδρομές σε βάση blog-by-blog και το κάνει αυτό με έναν κανόνα επανεγγραφής και ένα αρχείο php.

Το WordPress χρησιμοποιεί τον ακόλουθο κανόνα επανεγγραφής:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-include / ms-files.php? File = $ 2 [L]

Ουσιαστικά, οτιδήποτε βρίσκεται σε έναν υποκατάλογο του mysite.com/files/directory ξαναγράφεται στο mysite.com/files/wp-includes/myblogfolderpath… και εδώ είναι ενδιαφέρον. Τι θα συμβεί εάν πραγματικά χρειαστεί να έχετε ένα αρχείο στον διακομιστή σας που είναι mysite.com/files/myfolder/myimage.jpg; Λαμβάνετε ένα σφάλμα 404, αυτό συμβαίνει. Ο κανόνας επανεγγραφής Apache ξεκινά και αλλάζει τη διαδρομή.

Βεβαίως, μπορεί να μην αντιμετωπίσετε ποτέ αυτό το πρόβλημα, αλλά το έκανα. Είχα έναν ιστότοπο που έπρεπε να χρησιμοποιήσει ένα widget javascript από έναν άλλο ιστότοπο και χρειάστηκε να βρει γραφικά στο mysite.com/files/Images/myfile. Επειδή δεν υπήρχε τρόπος αλλαγής του αρχείου στον ιστότοπο του κεντρικού υπολογιστή, χρειαζόμουν για να βρω έναν τρόπο να το κάνω αυτό στον διακομιστή μου. Η εύκολη λύση είναι να δημιουργήσετε μια συνθήκη επανεγγραφής που κάνει μια εξαίρεση για συγκεκριμένα αρχεία.

Εδώ είναι η λύση:

RewriteCond% {REQUEST_URI}! /? Αρχεία / Image / file1.jpg $
RewriteCond% {REQUEST_URI}! /? Αρχεία / Image / file2.jpg $
RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? Files /(.+) wp-include / ms-files.php? File = $ 2 [L]

Οι συνθήκες επανεγγραφής πρέπει να τοποθετηθούν πριν από τον κανόνα επανεγγραφής, διαφορετικά αυτό το τέχνασμα δεν θα λειτουργήσει. Θα πρέπει να είναι εύκολο να τροποποιήσετε αυτήν την κατάσταση για δικούς σας σκοπούς, σε περίπτωση που αντιμετωπίσετε παρόμοιο πρόβλημα. Η λύση λειτούργησε τέλεια για μένα, επιτρέποντάς μου να αντικαταστήσω προσαρμοσμένα γραφικά παρά το λιγότερο επιθυμητό alt κείμενο που δεν ταιριάζει στο σχέδιό μου. Ας ελπίσουμε ότι θα λειτουργήσει και για εσάς.

Ποια είναι η γνώμη σας;

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.