Γνωσιακή Απλές οδηγίες για να εργαστείτε με την υπηρεσία Profitserver
Κυρίως Γνωσιακή Διαμόρφωση αρχείου .htaccess

Διαμόρφωση αρχείου .htaccess


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

Γιατί χρειάζεται το .htaccess

Το αρχείο .htaccess λειτουργεί ως ένα είδος "απομακρυσμένου ελέγχου" για προγραμματιστές ιστού σε διακομιστές Apache. Προσφέρει βολικά εργαλεία για την προσαρμογή διαφόρων παραμέτρων και τη διαχείριση της συμπεριφοράς ενός ιστότοπου. Όταν η άμεση πρόσβαση στα κύρια αρχεία διαμόρφωσης του διακομιστή δεν είναι διαθέσιμη (όπως συμβαίνει συχνά με την εικονική φιλοξενία, για παράδειγμα), το .htaccess γίνεται ένα χρήσιμο εργαλείο για την πραγματοποίηση των απαραίτητων αλλαγών.

Το Htaccess βρίσκεται συχνά στον ριζικό φάκελο του ιστότοπού σας ή σε αυτούς τους φακέλους όπου απαιτείται ειδική διαμόρφωση. Για παράδειγμα, εάν χρησιμοποιείτε WordPress, η διαμόρφωση μπορεί να γίνει μέσω της προσθήκης Yoast SEO, την οποία συζητήσαμε στο άρθρο σχετικά με Διαμόρφωση robots.txt. Σε άλλες περιπτώσεις, αρκεί να μεταβείτε στον απαιτούμενο φάκελο και να επεξεργαστείτε το υπάρχον αρχείο .htaccess ή να το δημιουργήσετε εάν δεν έχει δημιουργηθεί ακόμα.

Διαμόρφωση του αρχείου .htaccess

301 Ανακατεύθυνση htaccess

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

Για να ενεργοποιήσετε τις ανακατευθύνσεις, πρέπει να ενεργοποιήσετε την αντίστοιχη εντολή στο αρχείο .htaccess:

RewriteEngine on

Μετά από αυτό, μπορείτε να διαμορφώσετε την απλούστερη μορφή ανακατεύθυνσης:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

Μια παρόμοια ανακατεύθυνση χρησιμοποιώντας το Ανακατεύθυνση Μόνιμη η οδηγία μοιάζει με αυτό:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

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

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

Έγγραφο Σφάλματος Οδηγίας

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

ErrorDocument <error_code> <URL_page>

Για παράδειγμα,

ErrorDocument 404 /errors/not_found.html

Σημαίνει ότι όταν α 404 παρουσιάζεται σφάλμα, η σελίδα στο /errors/not_found.html θα ανοίξει. Οι απόλυτες διευθύνσεις URL καθορίζονται με παρόμοιο τρόπο:

ErrorDocument 500 http://example.com/errors/server_error.html

Αυτό το παράδειγμα υποδεικνύει την εμφάνιση του server_error.html σελίδα στο http://example.com/errors/ σε περίπτωση α 500 λάθος.

Άρνηση πρόσβασης σε κατάλογο τοποθεσιών

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

Για να απενεργοποιήσετε την καταχώριση (προβολή όλων των διαθέσιμων καταλόγων), πρέπει να προσθέσετε τη γραμμή:

Options -Indexes

Ένα παράδειγμα αποκλεισμού της πρόσβασης σε έναν συγκεκριμένο κατάλογο μοιάζει με αυτό:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

Ομοίως, μπορείτε να αρνηθείτε την πρόσβαση σε ένα μόνο αρχείο:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

Ή για μια σειρά αρχείων κατά επέκταση:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

Αποκλεισμός πρόσβασης μέσω IP

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

Ο αποκλεισμός μιας μεμονωμένης διεύθυνσης IP γίνεται με την εντολή:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Ο αποκλεισμός πολλών διευθύνσεων IP γίνεται με παρόμοιο τρόπο με την αντιγραφή του "Deny από" γραμμή με τις απαιτούμενες διευθύνσεις.

Για τον αποκλεισμό μιας σειράς διευθύνσεων IP:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

Για να επιτρέψετε την πρόσβαση μόνο για συγκεκριμένες IP, προσθέστε τον κωδικό:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Για πλήρη άρνηση πρόσβασης, χρησιμοποιήστε την οδηγία Αρνηθούν από όλες τιςκαι για αποκλεισμό διευθύνσεων με μάσκα, καθορίστε Deny από 11.22.

Που, 11.22 είναι η διεύθυνση IP μάσκα.

Αποκλεισμός επισκεπτών από User-Agent

Ο αποκλεισμός χρηστών από το User-Agent στο αρχείο .htaccess είναι μια μέθοδος ελέγχου του ποιος μπορεί να έχει πρόσβαση στον διακομιστή ιστού σας με βάση πληροφορίες σχετικά με το πρόγραμμα περιήγησης που χρησιμοποιεί ο επισκέπτης. Η συμβολοσειρά User-Agent περιέχει δεδομένα σχετικά με το πρόγραμμα περιήγησης που χρησιμοποιεί ένα άτομο για να αλληλεπιδράσει με τον διακομιστή σας και χάρη σε αυτές τις πληροφορίες, μπορείτε να περιορίσετε την πρόσβαση για ορισμένους χρήστες.

Ο πιο συνηθισμένος τρόπος αποκλεισμού από το User-Agent είναι να χρησιμοποιήσετε mod_rewrite:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

Σε αυτό το παράδειγμα:

  1. Το RewriteCond %{HTTP_USER_AGENT} χρησιμοποιείται για τον έλεγχο της συμβολοσειράς User-Agent.
  2. Τα ^Bot1, ^Bot2, ^Bot3 είναι παραδείγματα συμβολοσειρών User-Agent που θέλουμε να αποκλείσουμε. Οι τροποποιητές NC υποδεικνύουν ότι η σύγκριση θα πρέπει να είναι χωρίς διάκριση πεζών-κεφαλαίων.
  3. Το RewriteRule ^.*$ - [F,L] ισχύει για το αίτημα εάν πληρούται κάποια από τις προϋποθέσεις RewriteCond. Στέλνει μια απάντηση με τον κωδικό κατάστασης 403 Forbidden (F) και σταματά την επεξεργασία κανόνων (L).

Προσωρινή αποθήκευση στο htaccess

Η διαμόρφωση της προσωρινής αποθήκευσης μέσω του αρχείου .htaccess συμβάλλει στην επιτάχυνση του ιστοτόπου σας, καθιστώντας τη γρηγορότερη φόρτωσή του για τους χρήστες. Λειτουργεί ως εξής: ορισμένα αρχεία, όπως εικόνες, στυλ CSS και σενάρια JavaScript, αποθηκεύονται στην κρυφή μνήμη του προγράμματος περιήγησης του χρήστη μετά την πρώτη φόρτωση. Τώρα το πρόγραμμα περιήγησης μπορεί να χρησιμοποιήσει αυτά τα αρχεία από τη μνήμη cache, αντί να τα φορτώνει ξανά από τον διακομιστή κάθε φορά που ο χρήστης επισκέπτεται μια σελίδα. Αυτό μειώνει τον χρόνο φόρτωσης και βελτιώνει την απόδοση του ιστότοπου.

Εξετάστε ένα παράδειγμα:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

Για πόρους που ενημερώνονται συχνά, από την άλλη πλευρά, είναι απαραίτητο να απενεργοποιήσετε την προσωρινή αποθήκευση:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

Βελτιστοποίηση της απόδοσης του ιστότοπου

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

Παράδειγμα χρήσης του mod_deflate μονάδα μέτρησης:

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

Παράδειγμα για mod_gzip:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

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

Πώς να ελέγξετε τη λειτουργικότητα του αρχείου .htaccess

Για να ελέγξετε εάν το αρχείο σας .htaccess λειτουργεί στον ιστότοπο, μπορείτε να εκτελέσετε τα ακόλουθα βήματα:

  1. Αλλάξτε σκόπιμα το αρχείο .htaccess με ένα σφάλμα. Σε απόκριση, ο διακομιστής θα πρέπει να δώσει ένα σφάλμα. Αυτή η μέθοδος δείχνει εάν η λειτουργία του αρχείου εφαρμόζεται γενικά στον διακομιστή.
  2. Ελέγξτε τη λειτουργικότητα συγκεκριμένων αλλαγών που έχετε κάνει. Για παράδειγμα, κάντε μια μικρή προσαρμογή σε μία από τις παραμέτρους και αξιολογήστε την παρουσία αλλαγών.
  3. Ελέγξτε τον κωδικό κατάστασης της σελίδας εάν οι αλλαγές σχετίζονται με την απόκριση του διακομιστή. Πώς να το κάνετε αυτό, περιγράψαμε προηγουμένως στο άρθρο Κωδικοί σφαλμάτων HTTP: μια πλήρης λίστα σφαλμάτων διακομιστή.
  4. Ανατρέξτε στα αρχεία καταγραφής διακομιστή. Εμφανίζουν όλα τα σφάλματα που σχετίζονται με τη λειτουργία του αρχείου .htaccess.
  5. Πραγματοποιήστε δοκιμές χρησιμοποιώντας διαδικτυακές υπηρεσίες ή εργαλεία.

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

Συμπέρασμα

Η διαμόρφωση του αρχείου .htaccess είναι ένα σημαντικό βήμα για τη βελτιστοποίηση και την προστασία του διακομιστή σας Apache. Εξερευνήσαμε πώς αυτό το αρχείο βοηθά στη διαχείριση ανακατευθύνσεων, στη συμπίεση περιεχομένου και στη διασφάλιση της ασφάλειας. Μόλις κατακτήσετε την εργασία με το .htaccess, αποκτάτε ένα ισχυρό εργαλείο για τη βελτίωση της απόδοσης και της λειτουργικότητας των ιστότοπων.

❮ Προηγούμενο άρθρο Ρύθμιση διακομιστή FTP
Επόμενο άρθρο ❯ Πώς να ρυθμίσετε έναν διακομιστή ιστού (Apache-PHP-MySQL/MariaDB) σε Linux

Ρωτήστε μας για το VPS

Είμαστε πάντα έτοιμοι να απαντήσουμε στις ερωτήσεις σας οποιαδήποτε ώρα της ημέρας ή της νύχτας.