Πώς θα προχωρήσω σε ανακατεύθυνση, μέσω του αρχείου .htaccess;

Σε αυτό το άρθρο, θα σας δείξουμε πώς μπορείτε να προχωρήσετε σε ανακατεύθυνση, μέσω του αρχείου .htaccess.

Σε γενικά πλαίσια, το αρχείο .htaccess είναι το αρχείο που επικοινωνεί άμεσα με τον Web Server. Μέσα από αυτό, μπορούμε να προχωρήσουμε σε ρυθμίσεις και παραμετροποιήσεις των προτιμήσεων μας, για τις ιστοσελίδες του πακέτου φιλοξενίας μας.

Επικοινωνία αρχείου .htaccess με τον Web Server.
Επικοινωνία αρχείου .htaccess με τον Web Server.

Το σχετικό αρχείο, μπορούμε να το εντοπίσουμε μέσα στον φάκελο όπου βρίσκεται η ιστοσελίδα μας(π.χ. /public_html σε cPanel και /httpdocs σε Plesk). Εάν δεν το βλέπουμε(τα αρχεία με “.” σαν πρόθεμα, είναι τα κρυφά αρχεία), θα πρέπει να ενεργοποιήσουμε την εμφάνιση κρυφών αρχείων. Εάν υπάρχει ήδη το αρχείο, προτιμούμε να το παραμετροποιήσουμε, παρά να δημιουργήσουμε νέο. Σε κάθε περίπτωση, εάν δεν υπάρχει το σχετικό αρχείο, μπορούμε να το δημιουργήσουμε, δίνοντας κατά την δημιουργία του το όνομα .htaccess.

Πάμε όμως να δούμε μερικά παραδείγματα ανακατεύθυνσης με την χρήση του αρχείου .htaccess.

Η ανάγνωση του αρχείου από τον Web Server, γίνεται από επάνω προς τα κάτω. Συνεπώς η τοποθεσία της προσθήκης της εντολής ανακατεύθυνσης είναι σημαντική. Για να ολοκληρώνεται η ανακατεύθυνση πριν οποιαδήποτε ανάγνωση άλλης εντολής, μπορούμε να την προσθέσουμε ως πρώτη στο αρχείο.

Σε περίπτωση που επιθυμούμε να κάνουμε ανακατεύθυνση της κίνησης μας, έτσι ώστε να περνάει από το ασφαλές πρωτόκολλο(https://) και να έχει το πρόθεμα www, μπορούμε να προσθέσουμε το παρακάτω:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domainmou.gr/$1 [R,L]

Εναλλακτικά, σε περίπτωση που επιθυμούμε να κάνουμε ανακατεύθυνση σε έναν συγκεκριμένο φάκελο (π.χ. folder), να περνάει από το ασφαλές πρωτόκολλο(https://) και να έχει το πρόθεμα www, μπορούμε να προσθέσουμε το παρακάτω:

RewriteEngine On
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]
RewriteRule ^https://domainmou2.gr%{REQUEST_URI} [L,R=301]

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

Share it!