Τι είναι όμως το αρχείο .htaccess και που θα το βρω;
Αρχικά, το αρχείο .htaccess είναι το αρχείο που επικοινωνεί άμεσα με τον Web Server. Μέσα από αυτό, μπορείς να προχωρήσεις σε ρυθμίσεις και παραμετροποιήσεις των προτιμήσεων σου, για τις ιστοσελίδες του πακέτου φιλοξενίας σου.
Το σχετικό αρχείο, μπορείς να το εντοπίσεις μέσα στον φάκελο όπου βρίσκεται η ιστοσελίδα σου (π.χ. /public_html σε cPanel και /httpdocs σε Plesk). Εάν δεν το βλέπεις (τα αρχεία με "." σαν πρόθεμα, είναι τα κρυφά αρχεία), θα πρέπει να ενεργοποιήσεις την εμφάνιση κρυφών αρχείων. Εάν υπάρχει ήδη το αρχείο, προτιμάται πάντα να το παραμετροποιήσεις, παρά να δημιουργήσεις νέο. Σε κάθε περίπτωση, εάν δεν υπάρχει το σχετικό αρχείο, μπορείς να το δημιουργήσεις, δίνοντας κατά την δημιουργία του το όνομα .htaccess.
Πάμε όμως να δούμε μερικά παραδείγματα ανακατεύθυνσης με την χρήση του αρχείου .htaccess.
Η ανάγνωση του αρχείου από τον Web Server, γίνεται από επάνω προς τα κάτω. Συνεπώς η τοποθεσία της προσθήκης της εντολής ανακατεύθυνσης είναι σημαντική. Για να ολοκληρώνεται η ανακατεύθυνση πριν από οποιαδήποτε ανάγνωση άλλης εντολής, μπορείς να την προσθέσεις ως πρώτη στο αρχείο.
Σε περίπτωση που επιθυμείς να κάνεις ανακατεύθυνση της κίνησης της ιστοσελίδας σου, έτσι ώστε να περνάει από το ασφαλές πρωτόκολλο (https://) και να έχει το πρόθεμα www, μπορείς να προσθέσεις τον παρακάτω κανόνα:
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.domainmou.gr/$1 [R,L]
Εναλλακτικά, σε περίπτωση που επιθυμείς να κάνεις ανακατεύθυνση σε έναν συγκεκριμένο φάκελο (π.χ. folder), να περνάει από το ασφαλές πρωτόκολλο (https://) και να έχει το πρόθεμα www, μπορείς να προσθέσεις το παρακάτω:
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} folder RewriteRule ^(.*)$ https://www.domainmou.gr/folder/$1 [R,L]
Παράλληλα, σε περίπτωση που επιθυμείς να κάνεις μόνιμη ανακατεύθυνση (301) σε άλλο domain name, μπορείς να προσθέσεις τον παρακάτω κανόνα:
RewriteEngine On RewriteCond %{HTTP_HOST} ^(?:www\.)domainmou\.gr$ [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)domainmou\.gr$ [NC] RewriteRule ^https://domainmou2.gr%{REQUEST_URI} [L,R=301]
Σημείωση 👉
Από την στιγμή που η επικοινωνία με τον διακομιστή είναι άμεση, εάν δεις ότι με το τμήμα κώδικα που πρόσθεσες δεν έχεις το επιθυμητό αποτέλεσμα, μπορείς να το αφαιρέσεις και η λειτουργία της ιστοσελίδας θα επιστρέψει στην αρχική κατάσταση.