Skip to main content
TrustServers Knowledge Base

Tip: Start typing to get instant search results.

Περιεχόμενα Άρθρου

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

Τα αρχεία .htaccess (Hypertext Access) είναι αρχεία που περιέχουν οδηγίες προς τον web server και επιτρέπουν τη διαμόρφωση παραμέτρων λειτουργίας του.  Σε αυτά ορίζονται κανόνες χωρίς να απαιτείται πρόσβαση στις κεντρικές ρυθμίσεις του συστήματος σε επίπεδο server.

Σε όλους τους servers μας επιλέγουμε να κάνουμε χρήση του NGINX web server. Στα πλάνα managed hosting που παρέχουμε και λειτουργούν με hosting panel (για παράδειγμα shared hosting, semi-dedicated hosting κ.α.), εκτός από NGINX, γίνεται χρήση και Apache web server με LiteSpeed PHP API module, οπότε είναι εφικτή η αξιοποίηση των αρχείων .htaccess. Στους dedicated servers μας, που τρέχουμε αποκλειστικά NGINX web server, φροντίζουμε εμείς για την κατάλληλη μετατροπή των κανόνων .htaccess σας σε NGINX κανόνες με τον βέλτιστο δυνατό τρόπο.

Κάθε υποφάκελος μπορεί να έχει δικό του αρχείο .htaccess με ξεχωριστούς κανόνες. Το κεντρικό αρχείο .htaccess βρίσκεται στον κύριο φάκελο που περιέχει τα αρχεία του website (π.χ. φάκελος public_html). Αν το αρχείο δεν υπάρχει τότε μπορείτε να το δημιουργήσετε. Αν υπάρχει ήδη μπορείτε να προσθέσετε τους έξτρα κανόνες (συχνά η προσθήκη γίνεται στην κορυφή του αρχείου).

Παρουσιάζουμε μερικά χρήσιμα παραδείγματα αξιοποίησης του αρχείου .htaccess.

Ανακατεύθυνση (Redirect)

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

Redirect όλων των URLs του παλιού domain στην αρχική σελίδα του νέου

Είναι σημαντικό κατά την αλλαγή του domain του website σας, να ανακατευθύνετε όλα τα URLs του παλιού σας domain στην αρχική σελίδα του νέου. Έστω λοιπόν για παράδειγμα, πως θέλετε να μεταφέρετε όλα τα παλιά URLs του oldsite.org στην αρχική σελίδα του newsite.org. Αρκεί να προσθέσετε την παρακάτω γραμμή στο .htaccess.

Redirect 301 / https://newsite.org/

Με αυτόν τον τρόπο, το https://oldsite.org/test/page.html για παράδειγμα, θα κάνει redirect στο https://newsite.org/

Redirect όλων των παλιών URLs στα αντίστοιχα URLs του νέου

Αν κατά την αλλαγή του domain του website σας, υπάρχει ένα προς ένα αντιστοιχία στα παλιά και στα νέα URLs, τότε μπορείτε να βάλετε όλα τα παλιά URLs να κάνουν redirect στα αντίστοιχα URLs του νέου domain. Για να το κάνετε αυτό, αρκεί να βάλετε τις παρακάτω γραμμές μέσα στο .htaccess

# Redirect oldsite.org URLs to newsite.org
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite.org$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.org$
RewriteRule (.*)$ https://www.newsite.org/$1 [R=301,L]
</IfModule>

Με αυτόν τον τρόπο, το https://oldsite.org/test/page.html για παράδειγμα, θα κάνει redirect στο https://newsite.org/test/page.html

Redirect υποφακέλου του website σε νέο subdomain

Έστω πως θέλετε να ανακατευθείτε όλα τα requests που γίνονται στον υποφάκελο blog/ σε ένα νέο subdomain, όπως το blog.example.org. Αρκεί να προσθέσετε τις παρακάτω γραμμές στο .htaccess αρχείο.

# Redirect /blog/* to blog subdomain
RewriteRule ^blog/(.*)$ https://blog.example.org/$1 [R=301,L]

Με αυτόν τον τρόπο, το https://example.org/blog/page.html για παράδειγμα, θα κάνει redirect στο https://blog.example.org/page.html

Redirect non-www domain στο www

Για τις μηχανές αναζήτησης το mysite.org και το www.mysite.org θεωρούνται δύο διαφορετικές ιστοσελίδες. Αν η σελίδα φορτώνει και με τους δύο τρόπους χωρίς ανακατεύθυνση, η Google μπορεί να “μπερδευτεί” ως προς το ποια έκδοση να ευρετηριάσει, και αυτό μπορεί να οδηγήσει σε ποινή για διπλό περιεχόμενο, επηρεάζοντας αρνητικά την κατάταξή σας (SEO).

Είναι επομένως σημαντικό να διασφαλίζετε ότι η σελίδα σας θα φορτώνει πάντα με το πρόθεμα www (ή χωρίς). Για να το κάνετε αυτό, αρκεί να προσθέσετε τις παρακάτω γραμμές στο .htaccess

# Redirect non-www to www
IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

Block ανεπιθύμητης διεύθυνσης IP

Πολλές φορές προκύπτει η ανάγκη να μπλοκάρουμε την πρόσβαση στο website μας, σε κάποια κακόβουλη IP. Αυτό μπορεί να γίνει εύκολα με μία εγγραφή στο .htaccess.

Για παράδειγμα, έστω πως θέλουμε να μπλοκάρουμε 2 IP διευθύνσεις, την 203.0.113.68 και την 198.51.100.23. Τότε αρκεί να προσθέσουμε τις παρακάτω γραμμές στο .htaccess.

# Block selected IPs
# Apache 2.4+
<RequireAll>
Require all granted
Require not ip 203.0.113.68
Require not ip 198.51.100.23
</RequireAll>

Block ανεπιθύμητου bot

Άλλος ένας χρήσιμος τρόπος να χρησιμοποιήσουμε το .htaccess αρχείο, είναι για να μπλοκάρουμε κάποιο bot. Έστω για παράδειγμα πως θέλουμε να μπλοκάρουμε τα bots Jyxobot και SBIder, τα οποία στέλνουν User-Agent “Jyxobot” και “SBIder” αντίστοιχα, οπότε αρκούν οι παρακάτω γραμμές.

# Block some bots
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} "Jyxobot|SBIder" [NC] 
RewriteRule .* - [F,L] 
</IfModule>

Με αυτόν τον τρόπο, μπορούμε να μπλοκάρουμε bots τα οποία είτε είναι κακόβουλα, είτε πραγματοποιούν υπερβολικά μεγάλο πλήθος επισκέψεων σε μικρό χρονικό διάστημα προς το website μας με αποτέλεσμα να προκαλούν την εξάντληση των διαθέσιμων πόρων του. Παρόλα αυτά, είναι σημαντικό να μην μπλοκάρουμε τα “καλά” bots όπως της Google, καθώς η πρόσβασή τους στο website μας είναι απαραίτητη για τη σωστή ευρετηρίαση και προβολή του.

Ήταν χρήσιμο το άρθρο?
Παρακαλούμε μοιραστείτε τη γνώμη σας
Πώς μπορεί να βελτιωθεί το άρθρο;
Επισκόπηση απορρήτου

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