Τα βασικά του .htaccess

Άρθρο που γράφτηκε από:
  • Οδηγοί Φιλοξενίας
  • Ενημερώθηκε: Ιουν 29, 2013

Η κατανόηση του αρχείου .htaccess του διακομιστή αποτελεί βασικό στοιχείο του σχεδιασμού και της ανάπτυξης ιστού

Οι περισσότεροι ερασιτέχνες web hosting πελάτες και νέοι web developers υποθέτουν ότι το πιο σημαντικό μέρος κάθε εγκατάστασης του διακομιστή είναι το εγκατεστημένο λογισμικό. Εγκαθιστούν πυρετωδώς την εφαρμογή βασισμένη σε ASP ή PHP, με την ελπίδα να δημιουργήσουν προηγμένο περιεχόμενο που ελέγχεται από το δημοφιλές λογισμικό και τα εκτεταμένα κελί και πίνακες βάσεων δεδομένων. Αλλά εν μέσω αυτής της έντονης δραστηριότητας, σχεδόν κάθε προγραμματιστής αγνοεί αρχικά ένα από τα πιο σημαντικά και ισχυρά αρχεία στον ίδιο τον εξυπηρετητή. Αυτό το αρχείο είναι γνωστό ως αρχείο ".htaccess" και ελέγχει όλα τα μηνύματα σφάλματος από τις σελίδες που προστατεύονται με κωδικό πρόσβασης, τη δομή του permalink στους αποκλεισμένους χρήστες που δεν μπορούν να δουν το περιεχόμενο του ιστότοπου.

Το αρχείο ".htaccess" βρίσκεται στον δημόσιο κατάλογο των root του διακομιστή από προεπιλογή. Σε διακομιστές Linux, ο κατάλογος αυτός ονομάζεται σχεδόν πάντα "public_html". Για τους υποφακέλους που πρέπει να επωφεληθούν από τη δύναμη αυτού του φακέλου, μπορεί να τοποθετηθεί ένα δευτερεύον αρχείο .htaccess εντός κάθε υποφακέλου και άλλου καταλόγου στον ίδιο τον διακομιστή. Κάθε αρχείο ή φάκελος μέσα σε έναν κατάλογο με ένα αρχείο ".htaccess" κληρονομεί τα δικαιώματα και τις οδηγίες αυτού του αρχείου, εκτός αν αντικατασταθεί από μια ξεχωριστά κωδικοποιημένη έκδοση του αρχείου. Αν ακούγεται πολύπλοκο, αυτό οφείλεται σε μια μετρίως προηγμένη τεχνική ελέγχου της συμπεριφοράς του διακομιστή. Δεν είναι, ωστόσο, αδύνατο να μάθουμε. Και όταν ένας προγραμματιστής ή αρχάριος web hosting πελάτες μαθαίνουν πώς να ελέγχουν τον server τους χρησιμοποιώντας αυτό το αρχείο, θα είναι αδύνατο να επιστρέψουν στις ημέρες που ένα αρχείο .htaccess ήταν μια ενόχληση που δεν ήταν κατανοητή, πόσο μάλλον απασχολούμενος.

Ο κατάλογος προστασίας με κωδικό πρόσβασης είναι ένα αρχείο Snap με το αρχείο .htaccess

Web hosting ασφάλεια διακομιστή είναι κάτι που σχεδόν κάθε πελάτης κοιτάζει πριν δεσμευτούν σε οποιαδήποτε συγκεκριμένη εταιρεία φιλοξενίας ή τεχνολογίας διακομιστή. Ως επί το πλείστον, οι διακομιστές των Windows και Linux είναι εξίσου ασφαλείς, διατηρώντας τις πληροφορίες μακριά από εκείνους που δεν πρέπει να το έχουν. Αλλά αυτό ισχύει μόνο όσον αφορά την υπεράσπιση έναντι των hackers και των κακόβουλων web scripts. Όταν πρόκειται για κωδικό πρόσβασης που προστατεύει συγκεκριμένα αρχεία ή καταλόγους, όλη η εργασία πρέπει να γίνει από το αρχείο .htaccess χωριστά από τις τεχνολογίες του διακομιστή ή τα χαρακτηριστικά ασφαλείας.

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

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType Basic
απαιτούν ασφαλή χρήστη

Αυτές οι γραμμές κώδικα συνδυάζονται με ένα νέο αρχείο που ονομάζεται ".htpasswd". Αυτό το αρχείο βρίσκεται στον κατάλογο ο οποίος είναι ασφαλισμένος και περιέχει το όνομα χρήστη και τον κωδικό πρόσβασης που θα επιτρέπουν στους χρήστες να έχουν πρόσβαση στις προστατευμένες πληροφορίες. Στο παραπάνω παράδειγμα, έχει οριστεί ότι μόνο ο χρήστης "secureUser" μπορεί να έχει πρόσβαση στον κατάλογο και πρέπει να πληκτρολογήσει τον απαιτούμενο κωδικό πρόσβασης όπως καθορίζεται από τη γραμμή "AuthName EnterPassword" του κώδικα που βρίσκεται λίγο πάνω από το χρήστη ορισμός.

Στο αρχείο ".htpasswd" που θα δημιουργηθεί στον προστατευμένο κατάλογο, οι χρήστες θα πρέπει να προσθέσουν μόνο μία γραμμή κώδικα. Η μορφή είναι απλή. κάθε συνδυασμός χρηστών και κωδικών πρόσβασης διαχωρίζεται με τη χρήση διχτυών. Αυτό σημαίνει ότι θα προσθέσουν απλά το "user: password" στο αρχείο. Σε αυτή την περίπτωση, θα ήταν "safeUser: securedirectorypassword1" ως παράδειγμα. Αυτό θα καθορίσει όλους τους πιθανούς κωδικούς πρόσβασης και ονόματα χρηστών. Οι διαχειριστές ιστότοπων μπορούν βεβαίως να συμπεριλάβουν πολλούς χρήστες και κωδικούς πρόσβασης σε αυτήν τη λίστα, αρκεί να αφαιρεθεί η διάκριση "απαιτούν ασφαλή χρήστη" από το αρχείο ".htpasswd". Εναλλακτικά, θα μπορούσαν να ορίσουν πολλαπλούς κωδικούς πρόσβασης για το ίδιο όνομα χρήστη διατηρώντας ταυτόχρονα αυτή τη γραμμή κώδικα, διασφαλίζοντας ότι η πρόσβαση θα μπορούσε να ανακληθεί από ορισμένα άτομα ή ομάδες ανά πάσα στιγμή, αν διαγραφεί ο σωστός κωδικός πρόσβασης από το αρχείο ".htpasswd".

Για να μάθετε περισσότερα σχετικά με αυτό το ζήτημα, διαβάστε: Χρήση του .htpasswd με το Λογαριασμό φιλοξενίας σας Linux Shared.

Ορισμός εύχρηστων συνδέσεων με περιεχόμενο ιστότοπου και στατικές σελίδες

Μια από τις πιο διαδεδομένες τρέχουσες χρήσεις του παραγωγικού αρχείου ".htaccess" είναι να χρησιμοποιήσετε τις παραμέτρους του αρχείου για να ορίσετε σημασιολογικά εύκολο "permalinks"για το περιεχόμενο του ιστότοπου και για τις στατικές σελίδες, όταν χρησιμοποιείτε λογισμικό διαχείρισης περιεχομένου όπως το WordPress ή το MovableType.Αυτό όχι μόνο βοηθά τους χρήστες να θυμούνται και επαναφορτίζουν το περιεχόμενο του ιστότοπου, αλλά και βελτιώνει την κατάταξη αναζήτησης ενός ιστότοπου σε μεγάλες μηχανές αναζήτησης. ποιο περιεχόμενο υπάρχει σε μια δεδομένη σελίδα και εάν το περιεχόμενο αντιστοιχεί ή όχι με τη διεύθυνση URL.Μία αντιστοιχία τίτλου-διεύθυνσης URL υποδεικνύει περισσότερη εξουσιοδότηση και μεγαλύτερη πιθανότητα ότι ο χρήστης θα βρει τις πληροφορίες που αναζητούν. μεγάλες μηχανές αναζήτησης κατά τη χρήση δομής permalink.

Για όσους χρήστες έχουν εγκαταστήσει το WordPress στους διακομιστές του ιστότοπού τους, η ακόλουθη γραμμή προστίθεται κατά τη διάρκεια της διαδικασίας εγκατάστασης σχεδόν ως απαίτηση - ειδικά σε πιο πρόσφατες εκδόσεις του λογισμικού από την έκδοση 3.0 και νεότερη έκδοση. Η γραμμή κώδικα μοιάζει ακριβώς με το παρακάτω παράδειγμα και αποτελεί πρότυπο για περισσότερα από 60 εκατομμύρια πελάτες που έχουν φιλοξενήσει WordPress σε όλο τον κόσμο.

RewriteEngine Ενεργοποιημένο
RewriteBase /
RewriteCond%} {REQUEST_FILENAME!-F
RewriteCond%} {REQUEST_FILENAME!-D
RewriteRule. / Index.php [L]

Και πάλι, είναι εύκολο να δείτε τη δομή γραμμής κατά γραμμή των οδηγιών προγραμματισμού αρχείων ".htaccess". Αυτές οι λίγες απλές γραμμές κώδικα λένε στον διακομιστή να χρησιμοποιεί το αρχείο "index.php" του WordPress ως βάση για όλες τις διευθύνσεις URL που προέρχονται από την ίδια τη λύση λογισμικού διαχείρισης περιεχομένου. Χρησιμοποιώντας αυτό το αρχείο ως βάση και ξαναγράφοντας τους τίτλους εισόδου ως permalinks, η επανεγγραφή URL συνδυάζει ουσιαστικά τα ερωτήματα βάσης δεδομένων με τα δικαιώματα αρχείων για να δημιουργήσει "φιλικές" διευθύνσεις URL. Η τροποποίηση ενός αρχείου ".htaccess" για την επανεγγραφή των διευθύνσεών του URL αποτελεί τον κύριο, εάν όχι μόνο, τρόπο δημιουργίας πιο φιλικών διευθύνσεων URL από λύσεις λογισμικού διαχείρισης περιεχομένου που βασίζονται σε PHP και ASP.

Οδηγός Μηχανές Αναζήτησης σε Πρόσφατα Μεταφερμένο Περιεχόμενο τοπικά ή εξ αποστάσεως

Ενώ τα permalinks σχεδιάστηκαν για να εξαλείψουν τη διαδικασία τυχαίας μετεγκατάστασης περιεχομένου και έντονων ανακατευθύνσεων, δεν έχουν εξαλείψει εντελώς το πρόβλημα. Πράγματι, οι permalinks μπορούν να διαχειριστούν μέσα σε οποιοδήποτε πίνακα ελέγχου της διαχείρισης περιεχομένου. τη στιγμή που ο χρήστης αλλάζει τη δομή του permalink, τα πάντα μέσα στο πεδίο εφαρμογής του λογισμικού CMS μπορούν να λείπουν και να ρίχνουν λάθη στις μηχανές αναζήτησης και στους χρήστες. Αυτό μπορεί να εξαλειφθεί ως πρόβλημα με μια πολύ απλή γραμμή ".htaccess" κώδικα που ανακατευθύνει τους πελάτες και ρίχνει ένα "αόρατο" σφάλμα σε μεγάλες μηχανές αναζήτησης. Ο κώδικας είναι αυτός:

Ανακατεύθυνση 301 / αρχείο / / παρελθόν-καταχωρήσεις /

Αυτή η ανακατεύθυνση τοποθετεί τα παλιά και τα νέα URL δίπλα-δίπλα με την παλιά διεύθυνση URL που αναγράφεται πρώτα. Δίνει εντολή στον διακομιστή να εκπέμπει ένα σφάλμα ανακατεύθυνσης 301 στα προγράμματα περιήγησης και στη μηχανή αναζήτησης "αράχνες", αλλά αυτό το σφάλμα δεν φαίνεται ποτέ στον τελικό χρήστη. Αντίθετα, μια ανακατεύθυνση 301 είναι ένα αόρατο σφάλμα που συμβαίνει πίσω από τις σκηνές. Ενώ ο χρήστης μεταφέρεται αυτόματα στη νέα διαδρομή και το νέο περιεχόμενο, το πρόγραμμα περιήγησης και η μηχανή αναζήτησης κατανοούν ότι το "301" σημαίνει "μόνιμα μετακινηθεί". Τόσο το πρόγραμμα περιήγησης όσο και όλες οι μηχανές αναζήτησης που αντιμετωπίζουν αυτό το σφάλμα θα ενημερώσουν αμέσως τα αρχεία τους για να αντικατοπτρίζουν τη νέα διεύθυνση URL και θα καταργήσουν αμέσως το παλιό.

Αυτός είναι ένας πολύ καλός τρόπος για να μεταβείτε σε ένα νέο όνομα τομέα χωρίς να χάσετε πελάτες, επίσης. Το αρχείο ".htaccess" στον παλιό διακομιστή μπορεί να χρησιμοποιηθεί για να δείξει πραγματικά το περιεχόμενο σε ένα εντελώς νέο όνομα τομέα με μια μικρή αλλαγή στη γραμμή κώδικα που παρουσιάστηκε παραπάνω. Αντί να δείχνει δύο σχετικές διαδρομές στον ίδιο διακομιστή, ο κωδικός ανακατεύθυνσης 301 στην περίπτωση αυτή θα μοιάζει με τον εξής:

Ανακατεύθυνση 301 / http://www.your-domain-name.com

Αυτό καθοδηγεί τον διακομιστή να στείλει οτιδήποτε στον ριζικό κατάλογο ή σε οποιονδήποτε υποφακέλους στο νέο όνομα τομέα με την ίδια ακριβώς διαδρομή όπως στον παλιό διακομιστή. Όλες αυτές οι αλλαγές είναι το ίδιο το ίδιο το όνομα τομέα. Και πάλι, επειδή χρησιμοποιεί τον κωδικό σφάλματος 301, οι μηχανές αναζήτησης θα ενημερώσουν αυτόματα τα αρχεία τους ώστε να αντικατοπτρίζουν το νέο όνομα τομέα. Αυτό δεν είναι μόνο ένα εξαιρετικό εργαλείο για την χρηστικότητα, αλλά εμποδίζει επίσης έναν ιστότοπο να χάσει τις μηχανές αναζήτησης. Αντί να ξεκινήσετε, οι μηχανές αναζήτησης θα καταλάβουν ότι πρόκειται για τον ίδιο ιστότοπο σε μια νέα τοποθεσία. Θα διατηρήσουν την παλιά τους αντίληψη και την κατάταξη και ο διαχειριστής θα επωφεληθεί πολύ από τη χρήση αυτής της μοναδικής μεθόδου μετακίνησης μεταξύ τομέων.

Από αόρατα σφάλματα και ανακατευθύνσεις σε πραγματικές σελίδες σφάλματος για επισκέπτες ιστότοπου

Είναι αλήθεια ότι το αρχείο ".htaccess" ειδικεύεται στην ανακατεύθυνση χρηστών σε νέο περιεχόμενο ενώ ενημερώνει αόρατα τις μηχανές αναζήτησης, αλλά αυτό το μοναδικό αρχείο μπορεί επίσης να χρησιμοποιηθεί για την εμφάνιση συγκεκριμένων σελίδων σφάλματος όταν το περιεχόμενο λείπει, δεν μπορεί να εμφανιστεί ή να κωδικοποιηθεί έτσι ώστε τα σφάλματα να αποτρέπουν τη φόρτωση της σελίδας καθόλου. Αυτό γίνεται με τον ορισμό μιας συγκεκριμένης σελίδας για εμφάνιση με βάση τον τριψήφιο κωδικό σφάλματος του διακομιστή. Αυτοί οι κώδικες είναι ενσωματωμένοι σε υπηρεσίες όπως Apache και IIS, επομένως δεν υπάρχει πραγματική ανάγκη για διαμόρφωση πέρα ​​από το αρχείο .htaccess. Το παρακάτω παράδειγμα αντιμετωπίζει την πιο κοινή σελίδα σφάλματος στον κόσμο, γνωστή ως "σφάλμα 404" για τις σελίδες και τους καταλόγους που λείπουν.

ErrorDocument 404 /404.html

Κάθε φορά που ένας χρήστης σκοντάφτει σε έναν σύνδεσμο που δεν υπάρχει πια ή ένας υποφάκελος που έχει διαγραφεί, θα μεταφερθεί αυτόματα από το αρχείο .htaccess σε μια ενημερωτική και χρήσιμη σελίδα σφάλματος 404 που μπορεί να προσαρμοστεί και να σχεδιαστεί ειδικά από το διαχειριστή του ιστότοπου. Αυτός είναι ένας πολύ καλός τρόπος να τα επαναφέρετε στην πτυχή αντί να τα στείλετε μακριά με μια απλή και μη διακριτική σελίδα σφάλματος που δεν προσφέρει εναλλακτικές λύσεις στη χαμένη σελίδα.

Η ίδια διαδικασία μπορεί να ολοκληρωθεί για σχεδόν κάθε είδος σφάλματος φόρτωσης σελίδας που βασίζεται σε διακομιστή. Αυτό περιλαμβάνει τα σφάλματα διακομιστή 401, 403 και 500 εκτός από την τυπική ατυχία "σελίδα που δεν βρέθηκε" που αντιμετωπίζουν οι περισσότεροι χρήστες. Βεβαιωθείτε ότι έχετε διερευνήσει τη σημασία κάθε κώδικα σφάλματος και παρουσιάζετε ένα προσαρμοσμένο γραπτό μήνυμα και σχεδιασμό τοποθεσίας για κάθε σφάλμα που θα φέρει τους χρήστες πίσω στο υπάρχον περιεχόμενο της τοποθεσίας με ευκολία. Είναι ο καλύτερος τρόπος να διασφαλιστεί ότι ακόμη και οι πλοηγικές ή λογικές αποτυχίες ενός ιστότοπου μετατρέπονται σε ευκαιρίες και επιτυχίες.

Όταν όλα τα άλλα αποτυγχάνουν, απαγορεύστε τους χρήστες με μερικές απλές γραμμές κώδικα

Ως επί το πλείστον, το αρχείο .htaccess χρησιμοποιείται για πράγματα τα οποία τείνουν να λειτουργούν με βάση το μέσο όρο του χρήστη. Αυτό περιλαμβάνει τις σελίδες σφαλμάτων, τις προσαρμοσμένες μεθόδους ανακατεύθυνσης και τις "φιλικές" διεύθυνσεις URL διάρκειας, μεταξύ άλλων μεγάλων χαρακτηριστικών. Αλλά αυτό το αρχείο μπορεί επίσης να χρησιμοποιηθεί για να βεβαιωθείτε ότι ορισμένοι χρήστες αρνούνται απλά την πρόσβαση στον ιστότοπο εξ ολοκλήρου. Είναι ένας πολύ καλός τρόπος για να απαγορευτείτε όσοι "ανεπιθύμητα" σχόλια τοποθεσίας, συχνά προκαλούν διαταραχές ή επιχειρήματα μεταξύ των άλλων αναγνωστών ή απλά δεν μπορούν να χειριστούν τα προνόμια πρόσβασης με υπεύθυνο τρόπο.

Για να διατηρήσετε την ακεραιότητα ενός ιστότοπου και να βεβαιωθείτε ότι οι άλλοι αναγνώστες δεν μεταναστεύουν σε άλλους ιστότοπους από απλή απογοήτευση με λίγα κακά μήλα, το αρχείο .htaccess επιτρέπει την απαγόρευση συγκεκριμένων διευθύνσεων IP ή ολόκληρων διευθύνσεων (ή "μπλοκ"). των διευθύνσεων IP. Αυτό σημαίνει ότι μπορούν να απαγορευτούν ολόκληρες χώρες, να απαγορευτούν όλοι οι πάροχοι υπηρεσιών Ίντερνετ ή ολόκληρα κράτη, κοινότητες ή οργανώσεις να αναγκαστούν να πάνε αλλού για να διαβάσουν το καθημερινό περιεχόμενό τους και να προκαλέσουν προβλήματα. Όταν χρησιμοποιείται στο αρχείο .htaccess του ιστότοπου, η διαδικασία απαγόρευσης ενός χρήστη μοιάζει με αυτό:

επιτρέπει από όλα
αρνηθούν από 158.23.144.12
αρνηθούν από 24.100

Στο παραπάνω παράδειγμα, ο ιστότοπος είναι εκπαιδευμένος να επιτρέπει στους επισκέπτες από όλες τις διευθύνσεις IP, εκτός από εκείνους που επισκέπτονται από τη διεύθυνση IP 158.23.144.12. Επιπλέον, όλοι οι επισκέπτες της γκάμας διευθύνσεων IP 24.100 δεν έχουν πρόσβαση σε έναν ιστότοπο. Αυτή η σειρά πιθανώς απαγορεύει μια πελατειακή βάση πελατών ολόκληρου του παροχέα υπηρεσιών διαδικτύου από την ανάγνωση ενός περιεχομένου ενός ιστότοπου. Βεβαιωθείτε όμως ότι αυτό είναι μερικές φορές απαραίτητο σε σοβαρές περιπτώσεις.

Αγκαλιάστε το αρχείο .htaccess και αποκαταστήστε ορισμένες λειτουργίες ισορροπίας

Το μεγάλο πράγμα για το αρχείο .htaccess είναι ότι επιτρέπει στους διαχειριστές του διακομιστή να ελέγχουν ρυθμίσεις που διαφορετικά θεωρούνται πολύ προχωρημένες ή αυτές που απαιτούν πρόσβαση "root" στο διακομιστή. Αυτό το αρχείο είναι ένας πολύ καλός τρόπος για να διαχειριστείτε την πρόσβαση, τα σφάλματα, τις ανακατευθύνσεις και ακόμη και τη δομή της διεύθυνσης URL και τη σημασιολογική αίσθηση. Η κυριαρχία είναι το κλειδί για την προστασία και την ενδυνάμωση των νέων και επιστρέφοντων επισκεπτών ενός ιστότοπου.

Άρθρο από τον Jerry Low

Geek μπαμπάς, τοξικομανής δεδομένων SEO, επενδυτής και ιδρυτής του Web Hosting Secret Revealed. Ο Τζέρι κατασκευάζει στοιχεία του Internet και κερδίζει χρήματα online από το 2004. Λατρεύει το ανόητο ντύσιμο και δοκιμάζει νέο φαγητό.

Συνδέομαι: