Μετάβαση στο κύριο περιεχόμενο

.htaccess tutorial: Τι είναι και πως χρησιμοποιώ το .htaccess αρχείο; - Γνωσιακή βάση / Plesk / Γενικά - Papaki

.htaccess tutorial: Τι είναι και πως χρησιμοποιώ το .htaccess αρχείο;

Λίστα συντακτών

Σε αυτό το tutorial θα μάθετε περισσότερα για το αρχείο .htaccess και τις δυνατότητες που σας παρέχει για τη βελτίωση του site σας. Παρόλο που είναι απλά ένα αρχείο, μπορεί να αλλάξει τις ρυθμίσεις ενός server και σας επιτρέπει να κάνετε πολλές διαφορετικές ενέργειες.

 

Τι είναι το .htaccess αρχείο;

Το .htaccess είναι ένα αρχείο ρυθμίσεων του Apache web server, μέσω του οποίου μπορείτε να πραγματοποιήσετε διάφορες ρυθμίσεις που αφορούν το πακέτο hosting.

 

Πως δημιουργώ ένα αρχείο .htaccess;

Η διαδικασία είναι πολύ εύκολη και μπορείτε να δημιουργήσετε το αρχείο χρησιμοποιώντας έναν απλό text editor όπως το notepad ή textpad. Αρχικά βεβαιωθείτε ότι δεν υπάρχει ήδη αρχείο .htaccess στο hosting σας. Αν υπάρχει "κατεβάστε" το στον υπολογιστή σας και κάντε τις ρυθμίσεις που επιθυμείτε σε αυτό, για να μην επηρεάσει τυχόν υπάρχουσες ρυθμίσεις του site σας.

 

Αν δεν υπάρχει, ανοίξτε ένα κενό αρχείο με το notepad και αποθηκεύστε το ως .htaccess αρχείο. Μερικοί editors (πχ. notepad) δεν υποστηρίζουν αυτή τη μορφή, οπότε μπορείτε να το αποθηκεύσετε ως htaccess.txt και να το μετονομάσετε στην πορεία, σε .htaccess μέσω FTP client. Θα πρέπει να "ανεβάσετε" το αρχείο .htaccess στο κεντρικό φάκελο (httpdocs) του site σας, ή σε κάποιον υποφάκελο του httpdocs, με FTP.

 

Τι μπορώ να κάνω με το .htaccess αρχείο.

 

1. Δημιουργία δικών σας error pages

Μπορείτε να καθορίσετε το περιεχόμενο των error pages, ώστε να βελτιώσετε την εικόνα αυτών των σελίδων στην περίπτωση που εμφανιστεί κάποιο error στους επισκέπτες του site σας. Μερικές από τις δημοφιλέστερες error σελίδες είναι:

 

401 Authorization required. Η σελίδα αυτή εμφανίζεται στις περιπτώσεις που οι χρήστες προσπαθούν να εισέλθουν σε προτατευόμενες με κωδικό σελίδες και έχουν εισάγει λάθος στοιχεία σύνδεσης.

403 Forbidden. Εμφανίζεται όταν οι χρήστες προσπαθούν να αποκτήσουν πρόσβαση σε ένα αρχείο (κώδικα, web αρχείο, γραφικό κτλ.), του οποίου τα δικαιώματα δεν επιτρέπουν τέτοιες ενέργειες.

404 Not found. Εμφανίζεται όταν οι χρήστες προσπαθούν να επισκεφτούν μια σελίδα, η οποία δεν υπάρχει στο site σας.

500 Internal Server Error. Εμφανίζεται όταν υπάρχει πρόβλημα με το Hosting, που μπορεί να οφείλεται σε διάφορες αιτίες.

 

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

 

Αν για παράδειγμα έχετε δημιουργήσει τις σελίδες 401.htm kai 404.html, τότε θα πρέπει να εισάγετε μέσα στο αρχείο .htaccess τις παρακάτω γραμμές:

 

ErrorDocument 401 /401.html
ErrorDocument 404 /404.html

 

Αν για παράδειγμα, ονομάσατε τις σελίδες σας "notfound.html" και "notauthorized.html" και τις αποθηκεύσατε σε έναν υποφάκελο με όνομα "errorpages" τότε οι γραμμές που θα εισάγετε μέσα στο αρχείο .htaccess είναι:

 

ErrorDocument 401 /errorpages/notauthorized.html
ErrorDocument 404 /errorpages/notfound.html

 

Η συγκεκριμένη ενέργεια μπορεί να γίνει πολύ εύκολα και μέσα από το Plesk control panel.

 

2. Δυνατότητα απόκρυψης φακέλων ενός directory

Συμβαίνει αρκετά συχνά να μην έχει εισαχθεί από χρήστες ένα αρχείο index στον κατάλογο φακέλων τους, με αποτέλεσμα αν κάποιος πληκτρολογήσει το όνομα του directory σε έναν browser να εμφανιστούν όλα τα αρχεία μέσα σε αυτό. Αυτό είναι ρίσκο για την ασφάλεια του site σας. Το μόνο που χρειάζεται να κάνετε είναι να εισάγετε την παρακάτω εντολή στο αρχείο .htaccess για να αποκρύψετε τον κατάλογο των αρχείων σας, από τυχόν κακόβουλους χρήστες ή hackers:

 

Options -Indexes

 

Σημείωση: Δεν χρειάζεται να ακολουθήσετε την παραπάνω διαδικασία, επειδή όλα τα πακέτα hosting στο Papaki έχουν αυτή τη δυνατότητα εξ' αρχής ενεργοποιημένη, αποκρύπτοντας τα αρχεία σας.

 

3. Δυνατότητα αποκλεισμού συγκεκριμένων IP διευθύνσεων

Στην περίπτωση που θέλετε να επιτρέπετε την πρόσβαση στο site σας σε συγκεκριμένες IPs ή να μπλοκάρετε εντελώς IPs από το να βλέπουν το περιεχόμενο της σελίδας σας, μπορείτε να εισάγετε τις παρακάτω εντολές στο αρχείο .htaccess. Προϋποθέτει ότι γνωρίζετε την IP των χρηστών που θέλετε να περιορίσετε.(όπου IP εισάγετε την IP που επιθυμείτε)

 

order allow,deny
deny from IP
allow from all

 

Για περισσότερες από μία IPs εισάγετε την μία κάτω από την άλλη, όπως εμφανίζεται στις παρακάτω εντολές. Επιπλέον μπορείτε να αποκλείσετε μαζικά IPs εισάγοντας τον αριθμό της IP έως το προτελευταίο ψηφίο:

 

order allow,deny
deny from 125.30.5.1
deny from 125.30.5.
allow from all

 

4. Δυνατότητα ανακατεύθυνσης

Άλλη μία σημαντική ενέργεια που μπορείτε να πραγματοποιήσετε μέσω του .htaccess αρχείου είναι η ανακατεύθυνση αιτημάτων προς διαφορετικά αρχεία στον ίδιο server ή προς ένα εντελώς διαφορετικό website. Για παράδειγμα, εάν έχετε το αρχείο με όνομα "oldpage.htm" και θέλετε να κάνετε ανακατέυθυνση σε ένα άλλο, εντελώς διαφορετικό αρχείο, εισάγετε την εντολή:

 

Redirect /oldpage.htm http://www.diforetikosite.com/new/file/location.html

Αριστερά μόνο το path για το αρχείο και χωρισμένο με κενό, ολόκληρο το url στο οποίο θέλετε να κάνετε redirect στα δεξιά. Αν τώρα το παλιό αρχείο βρίσκεται σε υποφάκελο, πχ. old/oldpage.htm, τότε η εντολή θα είναι:

Redirect /old/oldpage.htm http://www.diforetikosite.com/new/file/location.html

Μπορείτε επίσης να ανακατευθύνετε ολόκληρους καταλόγους (directories) του site σας. Για παράδειγμα, έστω ότι έχετε ένα directory με υποφακέλους και αρχεία στο παλιό σας site και έχετε περάσει τα ίδια αρχεία σε ένα νέο site. Μπορείτε να κάνετε ανακατεύθυνση όλων των αρχείων μαζί σε αυτό το directory, χωρίς να χρειαστεί να αναφέρετε σε εντολές το καθένα ξεχωριστά. Η εντολή θα είναι:

Redirect /olddirectory http://www.neosite.gr/newdirectory

Με αυτόν τον τρόπο κάθε αναζήτηση στο παλιό σας site που σχετίζεται με τα αρχεία του olddirectory θα ανακατευθύνεται στο νέο σας site, ενώ στο URL θα εμφανίζεται και η αλλαγή. Δηλαδή όταν κάποιος θέλει να μεταβεί πχ. στο URL http://www.paliosite.gr/olddirectory/oldfiles/images/arxeio.jpg θα γίνει αυτόματα redirect προς http://www.beosite.gr/newdirectory/oldfiles/images/arxeio.jpg

 

Σημείωση: Μια λίγο πιο advanced, δημοφιλής ρύθμιση με rewrite rule είναι το redirection από ένα domain χωρίς "www" προς το ίδιο domain με "www". Πχ. Όταν ο χρήστης ανοίγει το site "example.com" να τον κατευθύνει αυτόματα στο "www.example.com":

 

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]


Βοηθητικό Δεν βοηθάει