Η ρύθμιση .htaccess

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

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


Πρώτον, στην ιστοσελίδα υπάρχει αντίγραφο του κύριου κατόπτρου, το site ανοίγει όπως και με www και χωρίς αυτό.

Τέτοια πράγματα άσχημα για το γεγονός ότι:

  • Μπερδεύει το χρήστη σχετικά με την ορθότητα του ονόματος της ιστοσελίδας
  • Επηρεάζει την απομνημόνευση όνομα της ιστοσελίδας από το χρήστη
  • Εμποδίζει αναζήτησης ρομπότ καταλλήλως σελίδα του site (crawlers των μηχανών αναζήτησης θεωρούν σελίδες με www και χωρίς www διαφορετική, και το περιεχόμενο τους дублируемым)

Για να απαλλαγούμε από διπλές τον κεντρικό καθρέφτη .htaccess πρέπει να καθορίσετε:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]

Για να ορίσετε ως κύρια καθρεφτών όνομα της ιστοσελίδας χωρίς www

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]

Για να ορίσετε ως κύρια καθρεφτών όνομα με το www


Δεύτερον, στην ιστοσελίδα υπάρχει ένα αντίγραφο του αρχείου ιστοσελίδας (index.html, index.php κ. λπ.)

Τέτοια πράγματα άσχημα για το γεγονός ότι:

  • Επηρεάζει την εμφάνιση αρχικής σελίδας του site (είναι πολύ καλύτερο να δείτε το όνομα της ιστοσελίδας, χωρίς καμία index παρά βγάλε)
  • Εμποδίζει αναζήτησης ρομπότ καταλλήλως σελίδα του site (crawlers των μηχανών αναζήτησης θεωρούν τη διεύθυνση του site με το index και χωρίς αυτό, όπως διαφορετικές σελίδες και το περιεχόμενο τους дублируемым)

Για να απαλλαγούμε από τα αντίγραφα του αρχείου της ιστοσελίδας θα πρέπει να τρέξουν στο .htaccess:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]

Τρίτον, διπλά GET (ρυθμίσεις αποστέλλονται στη διεύθυνση url μετά το σύμβολο ?)

Τέτοια πράγματα άσχημα για το γεγονός ότι:

  • Επηρεάζει την εμφάνιση αρχικής σελίδας του site (είναι πολύ καλύτερο να δείτε τη διεύθυνση URL χωρίς να πάρει τις ρυθμίσεις παρά βγάλε)
  • Εμποδίζει αναζήτησης ρομπότ καταλλήλως σελίδα του site (crawlers των μηχανών αναζήτησης θεωρούν τη διεύθυνση της ιστοσελίδας με GET και χωρίς αυτό, όπως διαφορετικές σελίδες και το περιεχόμενο τους дублируемым)

Για να απαλλαγούμε από διπλές GET πρέπει να τρέξουν στο .htaccess:

RewriteEngine on
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \; [NC]
RewriteCond %{THE_REQUEST} !admin [NC]
RewriteRule ^(.*);(.*)$ https://crazysquirrel.ru/$1; [R=301,L]

Ο γενικός κανόνας για να απαλλαγούμε από διπλές:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \; [NC]
RewriteCond %{THE_REQUEST} !admin [NC]
RewriteRule ^(.*);(.*)$ https://crazysquirrel.ru/$1; [R=301,L]

Στα στοιχεία ρυθμίσεις παραμέτρων:

  • RewriteEngine on — οδηγία ενεργοποίηση/απενεργοποίηση του μηχανισμού μετατροπής (γράφεται μία ολόκληρη htaccess)
  • RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC] — καθορισμός προϋποθέσεις για να εφαρμόσετε το μετασχηματισμό μόνο για τα ονόματα τόπου, εκτός από το επιθυμητό
  • RewriteRule ^(.*)$https://crazysquirrel.ru/$1[R=301,L] — ο μηχανισμός μετατροπής перенаправляющий χρήστη στο "σωστό όνομα του site"
  • RewriteCond %{QUERY_STRING} !^$ [NC] — καθορίζει τη συνθήκη για να εφαρμόσετε το μετασχηματισμό μόνο σε διευθύνσεις έχουν GET ρυθμίσεις
  • RewriteCond %{THE_REQUEST} \; [NC] — καθορίζει όρος μετατροπής μόνο για διευθύνσεις έχουν ;
  • RewriteCond %{THE_REQUEST} !admin [NC] — καθορίζει τους κανόνες μετατροπής για διευθύνσεις δεν έχουν στη σύνθεσή дирректории ή ένα αρχείο στον πίνακα διαχείρισης της ιστοσελίδας (εφόσον στην περιοχή δεν υπάρχει CMS ή για την εργασία δεν απαιτούνται GET ρυθμίσεις, αυτή η γραμμή δεν μπορεί να γράψει)
  • crazysquirrel.el — όνομα ιστοσελίδας
  • admin — κατάλογος της διαχειριστικής επιτροπής του site
  • index.php — κύριο αρχείο ιστοσελίδας
  • R=301 — τη σημαία, για τη θέσπιση του κώδικα κατάστασης http, για κακή της ιστοσελίδας (301 — σημαία μόνιμη αλλαγή διεύθυνσης)
  • L — μια σημαία που δηλώνει ότι αυτός ο κανόνας τελευταία
  • NC — μια σημαία που δηλώνει ότι για αυτόν τον κανόνα δεν είναι σημαντική υπόθεση της γραφής
Να δούμε και να αφήσει σχόλια