Το αρχείο .htaccess είναι ένα αρχείο ρυθμίσεων σε επίπεδο καταλόγου, που υποστηρίζεται από τον διακομιστή ιστού Apache. Σας επιτρέπει να τροποποιείτε τις ρυθμίσεις του διακομιστή ιστού (όπως η ενεργοποίηση ή απενεργοποίηση λειτουργιών) για έναν συγκεκριμένο λογαριασμό, χωρίς να επηρεάζεται η καθολική διαμόρφωση του διακομιστή.
Αυτό το αρχείο εφαρμόζει τις ρυθμίσεις του σε ολόκληρο τον κατάλογο όπου βρίσκεται, συμπεριλαμβανομένων όλων των αρχείων και υποκαταλόγων μέσα σε αυτόν τον κατάλογο. Οποιεσδήποτε αλλαγές γίνουν στο αρχείο .htaccess εφαρμόζονται άμεσα, χωρίς να απαιτείται επανεκκίνηση του διακομιστή.
Για να βρείτε το αρχείο .htaccess:
1. Μεταβείτε στον λογαριασμό σας στο Spaceship >> επιλέξτε Hosting Manager στο Launchpad >> Διαχείριση δίπλα σε ένα hosting plan >> Αρχεία και Αποθήκευση >> Διαχείριση Αρχείων κοντά στο όνομα του ιστότοπου.
2. Θα μεταφερθείτε στον ριζικό φάκελο του domain.
3. Εάν χρειάζεται να επεξεργαστείτε το αρχείο .htaccess για το domain, εντοπίστε το αρχείο .htaccess στον ριζικό φάκελο του domain, κάντε δεξί κλικ πάνω του και επιλέξτε την επιλογή Επεξεργασία :

ΣΗΜΕΙΩΣΗ: Βεβαιωθείτε ότι η επιλογή "Εμφάνιση Κρυφών Αρχείων (dotfiles)" είναι ενεργοποιημένη στο μενού Ρυθμίσεις:

4. Εάν δεν υπάρχει αρχείο .htaccess στον File Manager, μπορείτε να δημιουργήσετε ένα νέο με το κουμπί + Αρχείο:

5. Είστε έτοιμοι να προσθέσετε τους δικούς σας κανόνες ρυθμίσεων και να τους αποθηκεύσετε.
Αυτή η μέθοδος σας επιτρέπει να αποκλείετε χρήστες βάσει της διεύθυνσης IP ή του domain τους. Είναι ιδιαίτερα χρήσιμη για τον περιορισμό της πρόσβασης σε ανεπιθύμητους επισκέπτες ή για τον περιορισμό της πρόσβασης σε συγκεκριμένα τμήματα του ιστότοπού σας, όπως η περιοχή διαχείρισης, μόνο στον ιδιοκτήτη.
Για να εφαρμόσετε συγκεκριμένους κανόνες αποκλεισμού, δημιουργήστε ένα αρχείο .htaccess με τα εξής:
(Για να επιτρέψετε την πρόσβαση σε όλους τους άλλους και να αποκλείσετε χρήστες με διεύθυνση IP X.X.X.X)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(Για να αποκλείσετε όλους τους επισκέπτες εκτός από τις συγκεκριμένες IP X.X.X.X και Y.Y.Y.Y)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
ΣΗΜΕΙΩΣΗ: Μην χρησιμοποιείτε τις παρωχημένες οδηγίες Allow, Deny και Order με τη νέα οδηγία Require directive.
Το Mod_Rewrite καθορίζει πώς παρουσιάζονται οι ιστοσελίδες και τα URL στους επισκέπτες.
Από προεπιλογή, το Mod_Rewrite αντιστοιχίζει ένα URL σε μια αντίστοιχη διαδρομή στο σύστημα αρχείων. Ωστόσο, μπορεί επίσης να ανακατευθύνει ένα URL σε ένα άλλο.
Πριν ρυθμίσετε μια ανακατεύθυνση, είναι σημαντικό να επιλέξετε τον τύπο ανακατεύθυνσης που ταιριάζει καλύτερα στις ανάγκες σας:
Μόνιμη ανακατεύθυνση (301): Αυτή η ανακατεύθυνση στέλνει έναν κωδικό κατάστασης 301, που υποδηλώνει ότι η σελίδα έχει μετακινηθεί μόνιμα. Αποθηκεύεται στη μνήμη cache του προγράμματος περιήγησης, ενημερώνοντας τις μηχανές αναζήτησης και τους πράκτορες χρήστη να ενημερώσουν το URL στις βάσεις δεδομένων τους. Αυτός είναι ο πιο συνηθισμένος τύπος ανακατεύθυνσης.
Προσωρινή ανακατεύθυνση (302): Αυτή η ανακατεύθυνση στέλνει έναν κωδικό κατάστασης 302, που υποδηλώνει ότι η μετακίνηση είναι προσωρινή. Το πρόγραμμα περιήγησης δεν θα αποθηκεύσει αυτήν την ανακατεύθυνση, και ενώ θα ανακατευθύνει επισκέπτες και μηχανές αναζήτησης, η αρχική σελίδα θα συνεχίσει να ευρετηριάζεται. Αυτός ο τύπος ανακατεύθυνσης συνιστάται εκτός αν είστε βέβαιοι ότι το URL δεν θα αλλάξει στο μέλλον.
Παρακάτω ακολουθεί μια λίστα με μερικές από τις πιο συνηθισμένες και χρήσιμες ανακατευθύνσεις που μπορούν να ρυθμιστούν μέσω του αρχείου .htaccess:
Μόνιμη ανακατεύθυνση από example1.com σε example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
Προσωρινή ανακατεύθυνση από exampledomain1.com σε exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
ΣΗΜΕΙΩΣΗ: Παρακάτω υπάρχουν παραδείγματα μόνιμων ανακατευθύνσεων. Προσωρινές ανακατευθύνσεις μπορούν να οριστούν αντικαθιστώντας το [R=301,L] με [R=302,L] στο τέλος του κώδικα (όπου χρειάζεται).
Ανακατεύθυνση από example1.com/subfolder σε example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
Ανακατεύθυνση από HTTP σε HTTPS για το example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]
ή
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Ανακατεύθυνση από μη-WWW σε WWW
για οποιοδήποτε domain, το .htaccess τίθεται σε ισχύ:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
για συγκεκριμένο domain:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Ανακατεύθυνση από WWW σε μη-WWW
για οποιοδήποτε domain το .htaccess τίθεται σε ισχύ:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
για συγκεκριμένο domain:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Ανακατεύθυνση όλων των σελίδων του example.com στις αντίστοιχες σελίδες του domain.com
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
ΣΗΜΕΙΩΣΗ: Όλα τα ονόματα σελίδων πρέπει να ταιριάζουν και στα δύο domains, αλλιώς η ανακατεύθυνση θα οδηγήσει σε μήνυμα "Page not Found".
Ανακατεύθυνση μιας σελίδας σε νέο URL
Redirect 301 /old_page.html http://www.domain.com/new_page.html
ΣΗΜΕΙΩΣΗ: Αυτή η τεχνική μπορεί να είναι χρήσιμη για την ανακατεύθυνση μιας διαγραμμένης σελίδας σε σφάλμα 404 ή για τη βελτιστοποίηση SEO μετά την ενημέρωση αναφορών περιεχομένου.
Αυτός ο τύπος κανόνα ορίζει περιορισμούς ασφαλείας για έναν κατάλογο ή υποκατάλογο. Μπορείτε να προστατεύσετε με κωδικό πρόσβασης καταλόγους ώστε κάθε επισκέπτης που προσπαθεί να έχει πρόσβαση να καλείται να εισάγει όνομα χρήστη και κωδικό πρόσβασης.
Για να ρυθμίσετε αυτήν την προστασία:
1. Δημιουργήστε τον κατάλογο που θέλετε να προστατεύσετε μέσα στο φάκελο /home/cpanel_user/.htpasswds/ (π.χ., για το domain.com/test, η διαδρομή είναι .htpasswds/domain.com/test/).
2. Σε αυτόν τον κατάλογο, δημιουργήστε ένα αρχείο passwd και προσθέστε κρυπτογραφημένα διαπιστευτήρια πρόσβασης χρησιμοποιώντας μια online γεννήτρια.
3. Προσθέστε τις παρακάτω οδηγίες στο αρχείο .htaccess:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
Αυτή η δυνατότητα σας επιτρέπει να δημιουργήσετε εξατομικευμένες σελίδες σφαλμάτων για τον ιστότοπό σας. Είναι μια χρήσιμη επιλογή καθώς σας επιτρέπει να παρουσιάζετε στους επισκέπτες ένα μήνυμα σφάλματος που ταιριάζει με το θέμα του ιστότοπού σας αν υπάρχουν σπασμένα URL. Αυτό βοηθά στην αποφυγή εμφάνισης του προεπιλεγμένου σφάλματος '404 File Not Found' και αντ' αυτού επιστρέφει μια προσαρμοσμένη σελίδα σφάλματος με οδηγίες για να καθοδηγήσει τους χρήστες πίσω στο περιεχόμενο του ιστότοπού σας, αποτρέποντας τη σύγχυση.
Για να ρυθμίσετε μια προσαρμοσμένη σελίδα σφάλματος, προσθέστε το παρακάτω κείμενο σε ένα αρχείο .htaccess:
ErrorDocument 404 /404.html
Αυτή η γραμμή δίνει εντολή στον διακομιστή ιστού Apache να φορτώσει το αρχείο 404.html που βρίσκεται στον ριζικό κατάλογο του domain κάθε φορά που προκύπτει σφάλμα 404 (File Not Found).
ΣΗΜΕΙΩΣΗ: Για να δημιουργήσετε προσαρμοσμένες σελίδες σφαλμάτων για άλλα σφάλματα (όπως 403 ή 500), απλώς αντικαταστήστε το 404 με τον αντίστοιχο κωδικό σφάλματος και το /404.html με τη διαδρομή προς το δικό σας αρχείο σφάλματος.
Εάν χρειάζεται να απενεργοποιήσετε προσωρινά κάποιους από τους υπάρχοντες κανόνες, όπως για δοκιμαστικούς σκοπούς, μπορείτε εύκολα να τους σχολιάσετε. Για να το κάνετε αυτό, απλώς προσθέστε το σύμβολο της δίεσης (#) στην αρχή της γραμμής.
Εναλλακτικά, μπορείτε να απενεργοποιήσετε μία γραμμή ή ένα μπλοκ γραμμών επιλέγοντάς τα και χρησιμοποιώντας τη συντόμευση Ctrl + / .