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

Λύση
  • σύνταξη αρχείου htaccess
  • Ρύθμιση πρόσβασης htaccess
  • Τροποποίηση URL στο htaccess
  • Ρύθμιση ανακατευθύνσεων στο htaccess
  • Ρύθμιση σελίδων σφαλμάτων στο htaccess
  • Αποθήκευση στο htaccess
  • Συμπίεση αρχείων στο htaccess
  • Κλείδωμα καταλόγων με κωδικό πρόσβασης
  • Κωδικοποίηση
  • Έκδοση PHP στον επιθυμητό φάκελο και αλλαγή του προγράμματος χειρισμού ανά τύπο αρχείου

ΣΥΝΤΑΞΗ ΑΡΧΕΙΟΥ HTACCESS

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

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

Εντολή parameter1 parameter2 σημαίες

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

Συνδεθείτε στην επιφάνεια εργασίας του cPanel και μεταβείτε στο " Διαχείριση αρχείων"

Μεταβείτε στο φάκελο public_html και δημιουργήστε ένα αρχείο που ονομάζεται ".htaccess"

Δημιουργήστε τον επιθυμητό φάκελο και το αρχείο .htaccess στον φάκελο public_html ή νεότερο.

Ενεργοποιήστε την εμφάνιση κρυφών αρχείων στην ενότητα "Ρυθμίσεις" στα δεξιά, επάνω.

Και επεξεργαστείτε το αρχείο .htaccess κάνοντας δεξί κλικ στο αρχείο και επιλέγοντας Επεξεργασία

ΔΙΑΜΟΡΦΩΣΗ ΠΡΟΣΒΑΣΗΣ HTACCESS

Πολύ συχνά το htaccess χρησιμοποιείται για τον έλεγχο της πρόσβασης σε έναν φάκελο. Τρεις εντολές χρησιμοποιούνται για τον έλεγχο της πρόσβασης:

  • Σειρά- Σειρά;
  • αρνούμαι- απαγόρευση
  • επιτρέπω- επιτρέψτε.

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

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

Απόρριψη παραγγελίας, επιτρέψτε
Αρνηθείτε από όλους

Αλλά μπορούμε επίσης να επιτρέψουμε την πρόσβαση μόνο από το επιθυμητό υποδίκτυο ή τη διεύθυνση IP:

Απόρριψη παραγγελίας, επιτρέψτε
Αρνηθείτε από όλους
Επιτρέψτε το 192.168.0.

Για να αποκλείσετε διευθύνσεις IP μπορείτε να χρησιμοποιήσετε τις δυνατότητες του cPanel


Εάν οριστεί το deny,allow, τότε ο έλεγχος θα πραγματοποιηθεί με αυτή τη σειρά. Πρώτα, όλες οι οδηγίες άρνησης, μετά όλες οι οδηγίες επιτρέπονται, και εάν καμία από τις προϋποθέσεις δεν ταιριάζει, τότε το αίτημα παραλείπεται. Με την άδεια, άρνηση, ένα τέτοιο αίτημα θα απορριφθεί από προεπιλογή. Για παράδειγμα, το προηγούμενο παράδειγμα θα μπορούσε να γραφτεί ως εξής:

Παραγγελία επιτρέψτε, αρνηθείτε
Επιτρέψτε το 192.168.0.

ΤΡΟΠΟΠΟΙΗΣΗ URL ΣΤΟ HTACCESS

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

Η τροποποίηση διεύθυνσης URL στο htacces γίνεται χρησιμοποιώντας τρεις οδηγίες, αυτές είναι RewriteBase, το οποίο καθορίζει το πρόθεμα διεύθυνσης, RewriteCondελέγχους για συμμόρφωση και RewriteRule- αλλάζει τη διεύθυνση URL σύμφωνα με την κανονική έκφραση, εάν ταιριάζουν όλοι οι κανόνες που ταιριάζουν.

Πρώτα πρέπει να ενεργοποιήσετε το Mod_Rewrite, σε περίπτωση που η λειτουργική μονάδα δεν είναι ακόμα ενεργή:

RewriteEngine ενεργοποιημένο

Υποδεικνύουμε ότι η ρίζα πρέπει να χρησιμοποιείται ως πρόθεμα για τη διεύθυνση URL:

Και θα αντικαταστήσουμε αυτόματα τη διεύθυνση URL από index.html σε index.php, σημειώστε ότι η αρχική διεύθυνση URL είναι η διαδρομή προς το αρχείο που ζητήθηκε σε σχέση με τη θέση του αρχείου htaccess:

RewriteRule index.html/index.php

Για πιο αποτελεσματική αντικατάσταση, μπορείτε να χρησιμοποιήσετε κανονικές εκφράσεις· αποτελούνται από ειδικούς χαρακτήρες και μεταβλητές και συνηθισμένους χαρακτήρες και αριθμούς. Ας δούμε τους κύριους ειδικούς χαρακτήρες:

  • ^ - αρχή της γραμμής.
  • $ - τέλος γραμμής
  • . - οποιοδήποτε σύμβολο,
  • * - οποιοδήποτε αριθμό συμβόλων.
  • ? - ένα συγκεκριμένο σύμβολο.
  • - μια ακολουθία χαρακτήρων, για παράδειγμα, από 0 έως 9.
  • | - σύμβολο ή, επιλέγεται είτε η μία ομάδα είτε η άλλη.
  • () - χρησιμοποιείται για την επιλογή ομάδων χαρακτήρων.

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

  • %(HTTP_USER_AGENT)- το πεδίο User-Agent, το οποίο μεταδίδεται από το πρόγραμμα περιήγησης του χρήστη.
  • % (REMOTE_ADDR)- διεύθυνση IP χρήστη.
  • %(REQUEST_URI)- ζητούμενο URI.
  • %(QUERY_STRING)- παραμέτρους ερωτήματος μετά το σύμβολο ?.

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

RewriteEngine On;
RewriteBase/;

Η οδηγία RewriteCond παρέχει ακόμη μεγαλύτερη ευελιξία· μπορείτε να επιλέξετε σε ποιες διευθύνσεις θα εφαρμόσετε την τροποποίηση, για παράδειγμα, θα επαναπροσδιορίσουμε τα δεδομένα μόνο για την έκδοση με www:

RewriteBase/;
RewriteCond % (REMOTE_HOST) ^www.site.ru$
RewriteRule ^(.*)\.html$1.php

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

ΔΙΑΜΟΡΦΩΣΗ ΑΝΑΚΑΤΕΥΘΥΝΣΕΩΝ ΣΤΟ HTACCESS

Μάθετε περισσότερα σχετικά με την ανακατεύθυνση για SSL από http σε https.

Η ρύθμιση των ανακατευθύνσεων htaccess γίνεται με παρόμοιο τρόπο, χρησιμοποιώντας την ίδια ενότητα mod_rewrite, μόνο που τώρα αντί να τροποποιήσουμε το url καθορίζουμε μια σημαία με την επιθυμητή ενέργεια και τον κωδικό ανακατεύθυνσης.

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

Ανακατεύθυνση 301 /index.html http://www.site.ru/index.php

Συνήθως όμως χρειάζεστε ανακατευθύνσεις με ευρύτερο αποτέλεσμα. Όλα μοιάζουν πολύ παρόμοια, μόνο που τώρα χρησιμοποιούμε μια σημαία για να αγνοήσουμε τα πεζά, το [L] για να σταματήσουμε την επεξεργασία και το [R] για να ανακατευθύνουμε. Για παράδειγμα, ανακατεύθυνση του htaccess από μια έκδοση που δεν είναι www σε έναν τομέα με www:

RewriteCond %(HTTP_HOST) ^site\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1

Η τιμή R=301 σημαίνει τον κωδικό ανακατεύθυνσης που θα επιστραφεί στον πελάτη· μπορείτε να χρησιμοποιήσετε 301, 302, κ.λπ. Μια ανακατεύθυνση htaccess από τον τομέα www σε έναν τομέα χωρίς πρόθεμα θα μοιάζει με αυτό:

RewriteCond %(HTTP_HOST) ^www.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1

Μπορείτε να κάνετε μια ανακατεύθυνση με τον ίδιο τρόπο:

RewriteRule ^old_address /new_address/$1

Ανακατεύθυνση από την έκδοση http στο https:

RewriteCond %(SERVER_PORT) ^80$
RewriteCond %(HTTP) =ενεργό
RewriteRule ^(.*)$ https://site.ru/$1

RewriteEngine σε RewriteCond %(SERVER_PORT) !^443$ RewriteRule .* https://%(SERVER_NAME)%(REQUEST_URI)

ΔΙΑΜΟΡΦΩΣΗ ΣΕΛΙΔΩΝ ΣΦΑΛΜΑΤΩΝ ΣΤΟ HTACCESS

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

Η ρύθμιση του htaccess για αυτό το στοιχείο θα είναι πολύ χρήσιμη. Μπορείτε να χρησιμοποιήσετε την οδηγία ErrorDocument. Χρησιμοποιώντας το, μπορείτε να ορίσετε σελίδες HTML για σφάλματα 4xx και 5xx. Για παράδειγμα, για το 404:

ErrorDocument 404 http://site.ru/error/404.shtml
ErrorDocument 403 http://site.ru/error/403.shtml
ErrorDocument 401 http://site.ru/error/401.shtml
ErrorDocument 500 http://site.ru/error/500.shtml

Εάν οι σελίδες σφαλμάτων δεν λειτουργούν, ανατρέξτε στο .

CACHING ΣΕ HTACCESS

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

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

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

Λήγει Ενεργό Ενεργό
ExpiresΠροεπιλογή "πρόσβαση συν 1 μήνα"

Τώρα μπορούμε να ρυθμίσουμε την προσωρινή αποθήκευση για κάθε τύπο αρχείου mime:

ExpiresByType text/html "πρόσβαση συν 1 μήνα 15 ημέρες 2 ώρες"
ExpiresByType εικόνα/gif "πρόσβαση συν 5 ώρες 3 λεπτά"
ExpiresByType εικόνα/εικονίδιο x "πρόσβαση συν 2592000 δευτερόλεπτα"

Στην πρώτη γραμμή διευκρινίζουμε ότι οι σελίδες html θα πρέπει να θεωρούνται έγκυρες για ένα μήνα, 15 ημέρες και δύο ώρες από τη στιγμή που θα φορτωθούν. Οι ακόλουθοι τύποι αρχείων είναι διαθέσιμοι:

  • εικόνα/εικονίδιο x.
  • εικόνα/jpeg;
  • εικόνα/png;
  • εικόνα/gif;
  • εφαρμογή/x-shockwave-flash;
  • κείμενο/css;
  • κείμενο/javascript;
  • εφαρμογή/javascript;
  • εφαρμογή/x-javascript;
  • text/html;
  • application/xhtml+xml;

Για να είστε σίγουροι ότι αυτή η κατασκευή δεν θα προκαλέσει σφάλματα, τυλίξτε την σε ένα εάν:


ΣΥΜΠΙΕΣΗ ΑΡΧΕΙΟΥ ΜΕ HTACCESS

Για συμπίεση στο Apache, μπορείτε να χρησιμοποιήσετε τη λειτουργική μονάδα deflate. Μπορείτε επίσης να χρησιμοποιήσετε τις δυνατότητες του CPanel, .

Εδώ αρκεί απλώς να απαριθμήσετε τους τύπους mime των αρχείων που πρέπει να συμπιεστούν. Για παράδειγμα:

AddOutputFilterByType DEFLATE κείμενο/html κείμενο/απλό κείμενο/xml εφαρμογή/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

Μπορείτε επίσης να επισυνάψετε μια δήλωση if για να ελέγξετε εάν η μονάδα υποστηρίζεται:


Κλείδωμα καταλόγων με κωδικό πρόσβασης

Χρησιμοποιήστε την ενότητα cPanel

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

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

Πού βρίσκεται το αρχείο .htaccess;

Συνήθως βρίσκεται στον ριζικό κατάλογο του ιστότοπου. Μερικές φορές, σε διάφορα CMS μπορεί να υπάρχει ένα αρχείο htaccess.txt, το οποίο δεν γίνεται αντιληπτό από τον διακομιστή με κανέναν τρόπο και δεν επηρεάζει τίποτα. Για να αρχίσει να λειτουργεί, πρέπει να το μετονομάσετε σε .htaccess. Εάν αυτό δεν μπορεί να γίνει στον υπολογιστή σας, μεταβείτε στον διακομιστή σας μέσω ενός προγράμματος-πελάτη FTP και μετονομάστε το αρχείο απευθείας στον διακομιστή.

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

Πώς να ελέγξετε εάν το .htaccess λειτουργεί;

Είναι απλό, γράψτε οποιαδήποτε λέξη στην πρώτη γραμμή αυτού του αρχείου (για παράδειγμα YAROBOT), αποθηκεύστε το αρχείο και αντικαταστήστε το με αυτό που βρίσκεται στον διακομιστή. Εάν ο ιστότοπος συνεχίσει να λειτουργεί, τότε το .htaccess δεν λειτουργεί αυτήν τη στιγμή. Εάν εμφανιστεί το σφάλμα 500 Internal Server Error, σημαίνει ότι ο διακομιστής web δεν μπορούσε να καταλάβει την εντολή (YAROBOT) και δημιούργησε ένα σφάλμα. Αυτό το γεγονός θα επιβεβαιώσει ότι η εργασία .htaccess στον διακομιστή υποστηρίζεται και ενεργοποιείται αυτήν τη στιγμή. Για να επαναφέρετε τη λειτουργικότητα του ιστότοπου, αφαιρέστε τη γραμμή από το YAROBOT.

Διορθώστε την ανακατεύθυνση 301 μέσω αρχείου .htaccess

Σπουδαίος! Εάν θέλετε να λειτουργήσει η ανακατεύθυνσή σας, πρέπει να γράψετε πριν από τις γραμμές που προτείνονται παρακάτω στο κείμενο:

301 Ανακατεύθυνση από μια σελίδα σε άλλη (ή τοποθεσία)

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

Ανακατεύθυνση 301 /old-page.html http://site.rf/new-page.html

RedirectPermanent /old-page.html http://site.rf/new-page.html

301 Ανακατεύθυνση από ιστότοπο www σε ιστότοπο χωρίς www

Για παράδειγμα, ανακατεύθυνση από http://www.site.com σε http://site.com. Αυτό είναι ένα πολύ χρήσιμο πράγμα, που χρησιμοποιείται συχνά στο SEO

Επιλογές +FollowSymLinks
RewriteEngine On
RewriteCond %(HTTP_HOST) ^www.domain\.com$
RewriteRule ^(.*)$ http://domain.com/$1

Αντίστροφη ανακατεύθυνση από έναν τομέα χωρίς www σε έναν τομέα με www

Ανακατεύθυνση από http://site.com σε http://www.site.com (δεν συνιστούμε τη χρήση του)

Επιλογές +FollowSymLinks
RewriteEngine On
RewriteCond %(HTTP_HOST) ^domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1

Ανακατευθύνετε όλους τους επισκέπτες από τον παλιό ιστότοπο στον νέο

Ανακατεύθυνση 301 / http://newsite.com/

Πώς να προσθέσετε .html στο τέλος της διεύθυνσης URL;

Έτσι, όταν εισάγετε site.com/page ή site.com/page/, να πραγματοποιηθεί μια ανακατεύθυνση στο site.com/page.html, γράψτε τα εξής στο .htaccess:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?)
RewriteRule .* %1.html
RewriteRule ^(.*)/$ /$1.html

Πώς να αφαιρέσετε το .html στο τέλος της διεύθυνσης URL;

Αντίστροφη ανακατεύθυνση από το site.com/page.html στο site.com/page

RewriteBase /
RewriteRule (.*)\.html$1

Πώς να αφαιρέσετε την κάθετο στο τέλος της διεύθυνσης URL;

Για παράδειγμα, ήταν site.com/page/, έγινε site.com/page

RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.+)/$ /$1

301 Ανακατεύθυνση από το ένα τμήμα στο άλλο;

Ανακατεύθυνση όλων των σελίδων μιας ενότητας site.com/razdel-1/razdel-2/page σε σελίδες άλλης ενότητας site.com/razdel-1/page

RewriteRule ^blog/raznoe/(.*)$ http://site.ru/blog/$1

301 Ανακατεύθυνση κατά τη μετάβαση από έναν παλιό τομέα σε έναν νέο

Ο παρακάτω κανόνας θα ανακατευθύνει σωστά τους επισκέπτες από κάθε συγκεκριμένη σελίδα του παλιού ιστότοπου στην ίδια σελίδα του νέου ιστότοπου. Για παράδειγμα, από το oldsite.com/page στο newssite.com/page

RewriteCond %(HTTP_HOST) ^www.oldsite.com$
RewriteCond %(HTTP_HOST) ^test.oldsite.com$
RewriteRule ^(.*)$ http://newsite.com/$1

Σωστή αλλαγή σελίδων σφαλμάτων μέσω .htaccess

Όταν ένας χρήστης θέλει να δει έναν ιστότοπο (στέλνει ένα αίτημα στον διακομιστή φιλοξενίας), ο διακομιστής επιστρέφει μια απάντηση με έναν κωδικό. Οι κωδικοί 1-399 υποδεικνύουν την κανονική λειτουργία διακομιστή και οι κωδικοί 400-599 υποδεικνύουν σφάλμα διακομιστή (δείτε το ειδικό άρθρο για όλους τους κωδικούς σφαλμάτων). Για παράδειγμα, εάν ο διακομιστής με τον ιστότοπό σας είναι υπερφορτωμένος ή γίνεται επανεκκίνηση, ο χρήστης θα δει κείμενο που δεν κατανοεί (για παράδειγμα, 500 Internal Server Error), πιστεύει ότι ο ιστότοπος δεν θα λειτουργεί πλέον και δεν θα επιστρέψει ποτέ σε αυτόν. Για να του δείξετε την ξεχωριστή σελίδα σας αντί για μια τυπική σελίδα σφάλματος (ακατανόητη για τον χρήστη), στην οποία θα υπάρχει, για παράδειγμα, ένα μήνυμα ότι ο ιστότοπος δεν λειτουργεί προσωρινά, αλλά αργότερα θα επαναφέρει τη λειτουργία του και σίγουρα αξίζει να επιστρέψετε στο (ο ιστότοπος του KinoPoisk εμφανίζει ένα μήνυμα όταν οι διακομιστές είναι υπερφορτωμένοι "Το Matrix φορτώνει ξανά..." και την αντίστοιχη εικόνα). Η πιο συνηθισμένη λύση είναι να δημιουργήσετε τη δική σας σελίδα αντί για το τυπικό σφάλμα 404. Αυτό το σφάλμα εμφανίζεται στον χρήστη εάν εισαχθεί η διεύθυνση μιας ανύπαρκτης σελίδας. Οι σκεπτόμενοι webmasters δημιουργούν τη δική τους σελίδα αντί για την ακατανόητη τυπική, στην οποία γράφουν ότι το άτομο ακολούθησε έναν ανύπαρκτο σύνδεσμο και προτείνουν να αναζητήσουν τις απαραίτητες πληροφορίες στον ιστότοπο και να μην τις αφήσουν. Μπορείτε να δείτε ένα παράδειγμα της σελίδας μας 404. Για να εμφανίσετε στους χρήστες τη δική σας σελίδα σφάλματος αντί για την τυπική, πρέπει να δημιουργήσετε μια ξεχωριστή σελίδα (για παράδειγμα http://yoursite.com/404.html) και να προσθέσετε τον κατάλληλο κώδικα στο αρχείο .htaccess. Ακολουθούν παραδείγματα τον κωδικό που πρέπει να προσθέσετε:

ErrorDocument 400 http://yoursite.com/400.html
ErrorDocument 404 http://yoursite.com/404.html
ErrorDocument 500 http://yoursite.com/500.html

Εάν θέλετε να αντικαταστήσετε μια άλλη σελίδα αντί για το σφάλμα 403, τότε πρέπει να καθορίσετε ένα μήνυμα κειμένου που θα εμφανίζεται, για παράδειγμα:

Σφάλμα Έγγραφο 403 "Συγγνώμη δεν μπορώ να σας επιτρέψω την πρόσβαση σήμερα, τα λέμε αργότερα αλιγάτορας:)"

Ρυθμίσεις ασφαλείας ιστότοπου μέσω του αρχείου .htaccess

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

Προστασία του ιστότοπού σας από ενέσεις σεναρίων

#Ενεργοποιεί την παρακολούθηση συνδέσμων SIM
Επιλογές +FollowSymLinks
#Starts url_rewriting
RewriteEngine On
#Αποκλείει όλους τους συνδέσμους που περιέχουν ‹script›
RewriteCond %(QUERY_STRING) (\<|%3C).*script.*(\>|% 3E)
#Αποκλείει όλα τα σενάρια που προσπαθούν να αλλάξουν μεταβλητές PHP Globals:
RewriteCond %(QUERY_STRING) GLOBALS(=|\[|\%(0,2))
#Αποκλείει όλα τα σενάρια που προσπαθούν να αλλάξουν τη μεταβλητή _REQUEST:
RewriteCond %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))
#Ανακατευθύνει όλες αυτές τις προσπάθειες σε μια σελίδα σφάλματος 403 - απαγορεύεται
RewriteRule ^(.*)$ index.php

Πώς να προστατέψετε τον ιστότοπό σας από κλοπή εικόνας

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

Επιλογές +FollowSymlinks
#Απαγορεύει την κλοπή εικόνων
RewriteEngine On
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?yoursite.com/
RewriteRule .*.(gif|jpg|png)$ http://yoursite.com/images/stop_stealing.gif

yoursite.com - η διεύθυνση του ιστότοπού σας
http://yoursite.com/images/stop_stealing.gif - η διαδρομή προς την εικόνα που πρέπει να δημιουργήσετε μόνοι σας. Συνήθως λέει "μην κλέβετε φωτογραφίες από ιστότοπους άλλων ανθρώπων" ή κάτι παρόμοιο.

Πώς να αποκλείσω την πρόσβαση σε έναν ιστότοπο για έναν χρήστη μέσω IP;

Χρησιμοποιείται κατά των spammers και άλλων ακατάλληλων ατόμων και περιστασιακά για την πρόληψη επιθέσεων χάκερ.

#Εισαγάγετε ανεπιθύμητες διευθύνσεις IP εδώ
επιτρέπεται από όλους
άρνηση από 164.186.15.116
άρνηση από 124.153.34.144

Πώς να αποκλείσω την πρόσβαση σε έναν ιστότοπο για όλες τις IP εκτός από τις επαληθευμένες;

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

#Απόρριψη πρόσβασης για όλους εκτός από τις καθορισμένες διευθύνσεις IP
ErrorDocument 403 http://www.yoursite.com
Απόρριψη παραγγελίας, επιτρέψτε
Αρνηθείτε από όλους
Επιτρέψτε από 164.186.15.116
Επιτρέψτε από 124.153.34.144

Πώς να αποτρέψετε την προβολή των περιεχομένων ενός συγκεκριμένου φακέλου

#Απενεργοποιεί την προβολή των περιεχομένων του φακέλου
Επιλογές Όλα -Ευρετήρια

Άρνηση πρόσβασης σε συγκεκριμένο αρχείο

#Προστατεύει το αρχείο myfile.txt

διαταγή επιτρέπω, αρνούμαι
αρνηθεί από όλους

Απαγόρευση πρόσβασης σε όλα τα αρχεία με συγκεκριμένη επέκταση

Για παράδειγμα, για να αρνηθούμε την πρόσβαση σε όλα τα αρχεία .txt γράφουμε αυτό:


Παραγγελία Άρνηση, Επιτρέπεται
Αρνηθείτε από όλους

Αποκλεισμός περιττών πρακτόρων χρήστη

Συχνά ο χρήστης έχει εγκατεστημένες πολλές επεκτάσεις στο πρόγραμμα περιήγησής του, οι οποίες μεταδίδουν πληροφορίες για τον εαυτό του και άλλες περιττές πληροφορίες στον διακομιστή (στον οποίο βρίσκεται ο ιστότοπός σας). Οι ίδιες πληροφορίες αποστέλλονται στον διακομιστή από εφαρμογές πελάτη που είναι εγκατεστημένες στον υπολογιστή του χρήστη, καθώς και από διάφορα ρομπότ και αράχνες. Μπορείτε να βρείτε πληροφορίες για τους περισσότερους από τους τρέχοντες "Πρακτήρες χρήστη".

#Αποκλείει τους ακόλουθους πράκτορες χρήστη
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase user-Agent ^Java.*
SetEnvIfNoCase user-Agent ^Microsoft.URL
SetEnvIfNoCase user-Agent ^MSFrontPage
SetEnvIfNoCase user-Agent ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
SetEnvIfNoCase user-Agent ^Zeus

Παραγγελία Allow, Deny
Να επιτρέπεται από όλους
Άρνηση από το env=bad_bot

Αλλαγή της κωδικοποίησης του ιστότοπου μέσω .htaccess

Συμβαίνει ένας χρήστης να έρχεται στον ιστότοπό σας και να τον βλέπει κανονικά, ενώ ένας άλλος βλέπει gobbledygook αντί για γράμματα. Αυτό συμβαίνει λόγω της κωδικοποίησης του ιστότοπου. Για να το αναγνωρίσει σωστά το πρόγραμμα περιήγησης του χρήστη, ο ιστότοπος έχει κατασκευαστεί σε μία από τις δημοφιλείς κωδικοποιήσεις:

UTF-8 - καθολική κωδικοποίηση διπλού byte
Windows-1251 - Κυριλλικό (Windows)
KOI8-r - Κυριλλικό (KOI8-R)
cp866 - Κυριλλικό (DOS)
Windows-1250 - Κεντρική Ευρώπη (Windows)
Windows-1252 - Δυτική Ευρώπη (Windows)

Επίσης, η κωδικοποίηση πρέπει να υποδεικνύεται στη μετα-ετικέτα κάθε σελίδας του ιστότοπου, αυτό λέει στο πρόγραμμα περιήγησης σε ποια κωδικοποίηση γίνεται ο ιστότοπος.

Εάν αυτή η μετα-ετικέτα δεν έχει καθοριστεί, μπορείτε να πείτε στο πρόγραμμα περιήγησης ποια κωδικοποίηση έχετε χρησιμοποιώντας το αρχείο .htaccess:

Προσθήκη DefaultCharset WINDOWS-1251

Εάν λειτουργούν και οι δύο επιλογές (τόσο η μετα-ετικέτα όσο και το αρχείο .htaccess), τότε είναι πολύ σημαντικό να ταιριάζει η κωδικοποίηση σε αυτές.

Είναι επίσης δυνατό ο διακομιστής να διακωδικοποιεί αυτόματα όλα τα αρχεία που αποστέλλονται σε αυτόν:

Για να απενεργοποιήσετε την επανακωδικοποίηση διακομιστή πρέπει να εισαγάγετε:

Βελτιστοποίηση του ιστότοπου χρησιμοποιώντας .htaccess

Επιτάχυνση ιστότοπου χρησιμοποιώντας Gzip

Η ενεργοποίηση αυτής της δυνατότητας επιτρέπει στον διακομιστή να συμπιέζει πληροφορίες πριν τις στείλει στον χρήστη. Ως αποτέλεσμα, η ταχύτητα του ιστότοπου θα αυξηθεί, αλλά αυτό θα αυξήσει ελαφρώς το φορτίο στον διακομιστή (στον οποίο είναι αποθηκευμένος ο ιστότοπός σας), επειδή θα πρέπει να εκτελέσει τη λειτουργία συμπίεσης εν κινήσει. Για να ενεργοποιήσετε τη συμπίεση Gzip, πρέπει να προσθέσετε τις ακόλουθες γραμμές στο αρχείο .htaccess (δοκιμάστε να προσθέσετε 3 επιλογές κώδικα μία προς μία, ελέγχοντας την ταχύτητα και αφήστε την επιλογή που δίνει τη μεγαλύτερη ταχύτητα):


AddOutputFilterByType DEFLATE κείμενο/html κείμενο/απλό κείμενο/xml εφαρμογή/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 χωρίς gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

mod_gzip_on Ναι
mod_gzip_item_include αρχείο \.js$
mod_gzip_item_include αρχείο \.css$

Μέγεθος FileETag MTime


ExpiresActive στις



mod_gzip_on Ναι
mod_gzip_dechunk Ναι
mod_gzip_item_include αρχείο \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Πώς να βελτιώσετε την προσωρινή αποθήκευση ιστότοπου στον διακομιστή;

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


Λήγει Ενεργό Ενεργό
ExpiresByType εφαρμογή/javascript "πρόσβαση συν 7 ημέρες"
ExpiresByType text/javascript "πρόσβαση συν 7 ημέρες"
ExpiresByType text/css "πρόσβαση συν 7 ημέρες"
ExpiresByType εικόνα/gif "πρόσβαση συν 7 ημέρες"
ExpiresByType εικόνα/jpeg "πρόσβαση συν 7 ημέρες"
ExpiresByType εικόνα/png "πρόσβαση συν 7 ημέρες"
Μέγεθος FileETag MTime


ExpiresActive στις
ExpiresΠροεπιλογή "πρόσβαση συν 1 μήνα"

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

Αλλαγή της κύριας (ευρετηρίου) σελίδας του ιστότοπου

Συνήθως, όταν αποκτάτε πρόσβαση σε έναν ιστότοπο, η σελίδα index.html ή index.php φορτώνεται πρώτη. Για να αλλάξετε αυτόν τον κανόνα (το mypage.php θα φορτώσει πρώτα), προσθέστε τον ακόλουθο κώδικα στο .htaccess:

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

Συνήθως το αρχείο php.ini είναι υπεύθυνο για τις ρυθμίσεις PHP, αλλά ορισμένες από αυτές τις ρυθμίσεις μπορούν να οριστούν μέσω .htaccess. Για αυτό, χρησιμοποιούνται δύο εκφράσεις: php_value - για λογικές τιμές (για παράδειγμα, ενεργοποίηση/απενεργοποίηση) και php_flag για αριθμητικές τιμές. Ακολουθούν οι κανόνες για τη σύνταξη αυτών των εκφράσεων:

php_flag directive1 VALUE1
php_value directive2 VALUE2

όπου το VALUE1 μπορεί να είναι ενεργοποιημένο, απενεργοποιημένο, 1 ή 0 (1 και ενεργό μέσο όρο ενεργοποίησης και 0 και απενεργοποίηση σημαίνει απενεργοποίηση).

VALUE2 - οποιαδήποτε αριθμητική ή αλφαβητική τιμή που ταιριάζει με μια συγκεκριμένη οδηγία.

Το directive1 (χρησιμοποιείται μόνο με php_flag) μπορεί να έχει τις ακόλουθες τιμές:

magic_quotes_gpc - ενεργοποίηση/απενεργοποίηση της συνάρτησης magic_quotes_gpc


display_startup_errors - ενεργοποίηση/απενεργοποίηση εμφάνισης σφαλμάτων που παρουσιάζονται κατά την εκτέλεση της PHP

php_flag display_startup_errors 1


display_errors - ενεργοποίηση/απενεργοποίηση εμφάνισης σφαλμάτων στο πρόγραμμα περιήγησης


output_buffering - ενεργοποίηση/απενεργοποίηση της προσωρινής αποθήκευσης εξόδου δεδομένων


register_globals - ενεργοποίηση/απενεργοποίηση καθολικών μεταβλητών


engine - ενεργοποίηση/απενεργοποίηση της εκτέλεσης PHP στον φάκελο στον οποίο βρίσκεται το .htaccess και σε όλους τους υποφακέλους

Το directive2 (χρησιμοποιείται μόνο με php_value) μπορεί να έχει τις ακόλουθες τιμές:


upload_max_filesize - ορίζει το μέγιστο μέγεθος αρχείου μεταφόρτωσης

php_value upload_max_filesize 10M


user_agent - ορίζει την τιμή της συμβολοσειράς user_agent που αποστέλλεται από τον διακομιστή

php_value user_agent "Mozilla/4.0 (συμβατό; MSIE 6.0; Windows NT 5.1)"


post_max_size - ορίζει το μέγιστο μέγεθος της προωθούμενης αλληλογραφίας


mysql.default_user - καθορίζει το όνομα χρήστη της βάσης δεδομένων

php_value mysql.default_user χρήστης βάσης δεδομένων


mysql.default_password - ορίζει τον κωδικό πρόσβασης για τον χρήστη της βάσης δεδομένων

php_value mysql.default_password jk323jh4g


mysql.default_host - καθορίζει το όνομα του κεντρικού υπολογιστή της βάσης δεδομένων (συνήθως localhost)

php_value mysql.default_host localhost


sendmail_from - ορίζει το email για αποστολή αλληλογραφίας χρησιμοποιώντας PHP


auto_prepend_file - καθορίζει το αρχείο που θα προστεθεί στην αρχή κάθε σεναρίου PHP

php_value auto_prepend_file /www/public_html/myfile.php


auto_append_file - καθορίζει το αρχείο που θα προσαρτηθεί στο τέλος κάθε σεναρίου PHP

php_value auto_append_file /www/public_html/myfile.php
Γεννήτρια πωλήσεων

Χρόνος διαβασματός: 15 λεπτά

Θα σας στείλουμε το υλικό:

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

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

Από αυτό το άρθρο θα μάθετε:

  1. Τι είναι ένα αρχείο .htaccess
  2. Σε τι χρησιμεύει και πώς να το ρυθμίσετε
  3. Τι σφάλμα μπορεί να προκύψει;

Τι είναι ένα αρχείο .htaccess

Πρώτα απ 'όλα, να σας υπενθυμίσουμε: το αρχείο htaccess χρησιμοποιείται κατά την εργασία με Apache και άλλους διακομιστές και είναι αυτό που χρειάζεται για να ορίσετε έναν αριθμό από τα χαρακτηριστικά τους. Αρχικά, η ογκώδης, ασυνήθιστη επέκταση του αρχείου .htaccess μπορεί να είναι τρομακτική, αλλά στην πραγματικότητα μπορείτε να το ανοίξετε και να κάνετε προσαρμογές σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου.

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

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

Τώρα ας απαριθμήσουμε τις περιπλοκές της εργασίας με το htaccess:

  1. Σας επιτρέπει να παρακάμψετε πολλές από τις οδηγίες που είναι αποθηκευμένες στο αρχείο httpd.confg.
  2. Το αρχείο .htaccess, όταν τοποθετείται στον ριζικό κατάλογο, επηρεάζει ολόκληρο τον ιστότοπο. Ωστόσο, η εξαίρεση σε αυτόν τον κανόνα για το αρχείο .htaccess είναι οι κατάλογοι που έχουν ξεχωριστό αρχείο ρύθμισης παραμέτρων και εκείνοι που τυχαίνει να βρίσκονται χαμηλότερα στη δομή δέντρου.
  3. Αυτό το αρχείο τοποθετείται σε οποιονδήποτε κατάλογο και όλοι οι υποκατάλογοι θα υπακούουν στις οδηγίες του.
  4. Ο χρήστης δεν μπορεί να δει το .htaccess από το πρόγραμμα περιήγησης, καθώς το τελευταίο περιλαμβάνεται στην κατηγορία των αρχείων συστήματος.

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

  • απλές οδηγίες ανακατεύθυνσης (ανακατεύθυνση).
  • σύνθετες οδηγίες ανακατεύθυνσης (mod_rewrite).
  • σελίδες ευρετηρίου·
  • επεξεργασία σφαλμάτων?
  • ορισμός κωδικοποίησης·
  • διαχείριση της πρόσβασης σε καταλόγους και αρχεία·
  • κωδικοποίηση καταλόγου?
  • Επιλογές PHP.

Σε τι χρησιμεύει και πώς να ρυθμίσετε το αρχείο .htaccess

Τώρα ας ρίξουμε μια πιο προσεκτική ματιά στις παραπάνω παραμέτρους που σας επιτρέπει να χρησιμοποιήσετε το αρχείο .htaccess.

Ανακατεύθυνση μεταξύ σελίδων ή τοποθεσιών

Θυμηθείτε, για να λειτουργήσει η ανακατεύθυνση, πριν από τις γραμμές για τις οποίες θα μιλήσουμε αργότερα, γράψτε:

RewriteEngine On

  • 301 Ανακατεύθυνση από μια σελίδα σε άλλη (ή ιστότοπο).

Όταν εργάζεστε με την επέκταση .htaccess για ανακατεύθυνση, πρέπει να προσθέσετε τις ακόλουθες γραμμές στο αρχείο:

  • 301 Ανακατεύθυνση από μια τοποθεσία www σε μια τοποθεσία χωρίς www.

Ας υποθέσουμε ότι μιλάμε για ανακατεύθυνση από το http://www.site.com στο http://site.com. Σημειώστε ότι αυτή είναι μια πολύ χρήσιμη κίνηση, και χρησιμοποιείται συχνά στο SEO. Υπάρχει κωδικός για αυτό:

Επιλογές +FollowSymLinks

RewriteEngine On

Αντίστροφη ανακατεύθυνση από έναν τομέα χωρίς www σε έναν τομέα με www

  • Ανακατεύθυνση από το http://site.com στο http://www.site.com.

Αυτή η λειτουργία είναι επίσης δυνατή καταρχήν, αλλά δεν συνιστούμε τη χρήση της. Σε αυτήν την περίπτωση:

Επιλογές +FollowSymLinks

RewriteEngine On

RewriteCond %(HTTP_HOST) ^domain\.com$

  • Ανακατεύθυνση ατόμων από τον προηγούμενο ιστότοπο στον νέο.

Απλά γράψε:

  • Προσθήκη .html στο τέλος της διεύθυνσης URL.

Στο αρχείο .htaccess, αυτό γίνεται για τον ιστότοπο html, έτσι ώστε κατά την είσοδο site.com/page ή site.com/page/ ο χρήστης να ανακατευθύνεται στο site.com/page.html. Για να το κάνετε αυτό, γράψτε στο .htaccess:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?)

RewriteRule .* %1.html

RewriteRule ^(.*)/$ /$1.html

  • Αφαίρεση .html στο τέλος της διεύθυνσης URL.

Για ανακατεύθυνση από το site.com/page.html στο site.com/page:

RewriteRule (.*)\.html$1

  • Αφαίρεση της κάθετης στο τέλος της διεύθυνσης URL.

Ας υποθέσουμε ότι η διεύθυνση αρχικά έμοιαζε με site.com/page/, και τώρα παρουσιάζεται ως εξής: site.com/page, τότε χρειαζόμαστε:

RewriteCond %(REQUEST_FILENAME) !-d

RewriteRule ^(.+)/$ /$1

  • 301 Ανακατεύθυνση από τη μια ενότητα στην άλλη.

Χρειαζόμαστε ότι από όλες τις σελίδες μιας συγκεκριμένης ενότητας site.com/razdel-1/razdel-2/page ο επισκέπτης του ιστότοπου μεταβαίνει στις σελίδες μιας άλλης ενότητας site.com/razdel-1/page, γράφουμε:

  • 301 Ανακατεύθυνση κατά τη μετακίνηση σε νέο τομέα.

Εδώ πρέπει να ανακατευθύνετε σωστά τους επισκέπτες από κάθε σελίδα του παλιού ιστότοπου στη σελίδα του νέου που τον αντικαθιστά. Ας πάρουμε ως παράδειγμα το oldsite.com/page και το newsite.com/page. Στη συνέχεια, στο αρχείο .htaccess για τον ιστότοπο γράφεται το εξής:


Υποβάλετε την αίτησή σας

Σωστή αλλαγή σελίδων σφαλμάτων στο .htaccess

Έτσι, ο χρήστης ορίζει ανεξάρτητα τη διεύθυνση ή κάνει κλικ στον σύνδεσμο. Έτσι, στέλνει το αντίστοιχο αίτημα στον διακομιστή φιλοξενίας. Και λαμβάνει απάντηση με κωδικό. Κατά τη διάρκεια της αδιάλειπτης λειτουργίας, θα ληφθούν οι κωδικοί 1-399 και εάν υπάρχει σφάλμα, οι αριθμοί θα είναι οι εξής: 400-599. Ας φανταστούμε μια απλή κατάσταση: ο διακομιστής του ιστότοπού σας είναι υπερφορτωμένος ή γίνεται επανεκκίνηση. Στην οθόνη, εάν ένα άτομο προσπαθήσει να αποκτήσει πρόσβαση στην τοποθεσία, για παράδειγμα, θα εμφανιστεί το 500 Internal Server Error. Ο μέσος χρήστης δεν καταλαβαίνει αυτές τις λέξεις· θα αποφασίσει εύλογα ότι ο ιστότοπος είναι ήδη ξεπερασμένος και κλειστός. Υπάρχει μόνο ένα αποτέλεσμα από αυτό - το άτομο δεν θα επιστρέψει σε εσάς.

Υπάρχει διέξοδος από αυτό. Αντικαταστήστε την τυπική σελίδα σφάλματος (που τρομάζει τους ανθρώπους) με τη δική σας ξεχωριστή σελίδα. Θα περιέχει πληροφορίες: ο ιστότοπος δεν είναι λειτουργικός αυτή τη στιγμή, αλλά σύντομα θα συνεχίσει να λειτουργεί και αξίζει να του ρίξετε μια ματιά ξανά. Ένα ενδιαφέρον παράδειγμα είναι ο ιστότοπος KinoPoisk. Όταν οι διακομιστές είναι υπερφορτωμένοι, σύμφωνα με το θέμα, εμφανίζεται εδώ το μήνυμα "The Matrix is ​​being beinging..." και μια εικόνα από την καλτ ταινία.

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

Εδώ μπορείτε να ειδοποιήσετε τον επισκέπτη ότι προσπάθησε να χρησιμοποιήσει έναν ανύπαρκτο σύνδεσμο. Μια καλή κίνηση θα ήταν να προτείνετε να μην κλείσετε την καρτέλα, αλλά να αναζητήσετε πληροφορίες σε αυτόν τον ιστότοπο. Τώρα ας προχωρήσουμε στο κύριο πράγμα: για να αντικαταστήσετε τη σελίδα σφάλματος με τη δική σας, δημιουργήστε μια ξεχωριστή σελίδα (για παράδειγμα, http://yoursite.com/404.html), εφοδιάστε το αρχείο .htaccess με τον απαραίτητο κώδικα. Αυτές είναι οι επιλογές του:

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

Σφάλμα Έγγραφο 403 "Συγγνώμη δεν μπορώ να σας επιτρέψω την πρόσβαση σήμερα, τα λέμε αργότερα αλιγάτορας:)"

Ρύθμιση της ασφάλειας του ιστότοπου στο αρχείο .htaccess

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

  • Προστασία του ιστότοπού σας από ενέσεις σεναρίων.

#Ενεργοποιεί την παρακολούθηση συνδέσμων SIM

Επιλογές +FollowSymLinks

#Starts url_rewriting

RewriteCond %(QUERY_STRING) (\<|%3C).*script.*(\>|% 3E)

#Αποκλείει όλα τα σενάρια που προσπαθούν να αλλάξουν μεταβλητές PHP Globals:

RewriteCond %(QUERY_STRING) GLOBALS(=|\[|\%(0,2))

#Αποκλείει όλα τα σενάρια που προσπαθούν να αλλάξουν τη μεταβλητή _REQUEST:

RewriteCond %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))

RewriteRule ^(.*)$ index.php

  • Προστασία του ιστότοπού σας από κλοπή εικόνας.

Συχνά πρέπει να αντιμετωπίσουμε δυσάρεστες καταστάσεις όταν οι πονηροί webmasters προσθέτουν τη διαδρομή σε μια εικόνα από τον ιστότοπο κάποιου άλλου στον κώδικα της δικής τους σελίδας. Γιατί το χρειάζονται αυτό; Έτσι, η εικόνα φορτώνεται από τον διακομιστή σας και η κύρια σελίδα φορτώνεται από τον διακομιστή του τεχνίτη. Και τώρα έχει ήδη μειώσει τα έξοδα της κυκλοφορίας του σε βάρος των δικών σας. Για προστασία, πρέπει να γράψετε στο αρχείο htaccess:

Επιλογές +FollowSymlinks

#Απαγορεύει την κλοπή εικόνων

RewriteEngine On

RewriteCond %(HTTP_REFERER) !^$

Στο παράδειγμα, yoursite.com είναι η διεύθυνση του ιστότοπού σας.

Και έτσι θα μοιάζει η διαδρομή προς την εικόνα που δημιουργήσατε: http://yoursite.com/images/stop_stealing.gif. Σε τέτοιες εικόνες αφήνουν ένα μήνυμα όπως: «μην κλέβετε φωτογραφίες από τοποθεσίες άλλων ανθρώπων».

  • Αποκλεισμός πρόσβασης στον ιστότοπο για έναν χρήστη μέσω IP.

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

#Εισαγάγετε ανεπιθύμητες διευθύνσεις IP εδώ

άρνηση από 164.186.15.116

άρνηση από 124.153.34.144

  • Αποκλεισμός πρόσβασης στον ιστότοπο για όλες τις IP εκτός από τις επαληθευμένες.

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

#Απόρριψη πρόσβασης για όλους εκτός από τις καθορισμένες διευθύνσεις IP

Απόρριψη παραγγελίας, επιτρέψτε

Επιτρέψτε από 164.186.15.116

Επιτρέψτε από 124.153.34.144

  • Αποτρέψτε την εμφάνιση των περιεχομένων ενός συγκεκριμένου φακέλου.

Εδώ γράφουμε:

#Απενεργοποιεί την προβολή των περιεχομένων του φακέλου

Επιλογές Όλα -Ευρετήρια

  • Άρνηση πρόσβασης σε συγκεκριμένο αρχείο μέσω htaccess.

Για να αρνηθείτε την πρόσβαση σε ένα αρχείο χρησιμοποιώντας την επέκταση htaccess, χρησιμοποιήστε τον ακόλουθο κώδικα:

#Προστατεύει το αρχείο myfile.txt

διαταγή επιτρέπω, αρνούμαι

  • Απαγόρευση πρόσβασης σε όλα τα αρχεία με συγκεκριμένη επέκταση.

Ας υποθέσουμε ότι θέλετε να αποκλείσετε την πρόσβαση σε όλα τα αρχεία .txt, τότε πρέπει να γράψετε:

Παραγγελία Άρνηση, Επιτρέπεται

  • Αποκλεισμός περιττών πρακτόρων χρήστη.

Υπάρχουν πολλές περιττές επεκτάσεις στο πρόγραμμα περιήγησης κάθε χρήστη. Διαφέρουν στο ότι μεταδίδουν διάφορα είδη περιττών πληροφοριών στους διακομιστές ιστοτόπων. Μια παρόμοια λειτουργία εκτελείται από ρομπότ, αράχνες, ακόμη και εφαρμογές-πελάτες που είναι εγκατεστημένες στον υπολογιστή του χρήστη. Χρησιμοποιώντας τον ακόλουθο κώδικα, μπορείτε να λάβετε δεδομένα για τους περισσότερους από τους ενεργούς αυτή τη στιγμή λεγόμενους «Πρακτήρες χρήστη».

#Αποκλείει τους ακόλουθους πράκτορες χρήστη

SetEnvIfNoCase user-Agent ^FrontPage

SetEnvIfNoCase user-Agent ^Java.*

SetEnvIfNoCase user-Agent ^Microsoft.URL

SetEnvIfNoCase user-Agent ^MSFrontPage

SetEnvIfNoCase user-Agent ^Offline.Explorer

SetEnvIfNoCase user-Agent ^ebandit

SetEnvIfNoCase user-Agent ^Zeus

Παραγγελία Allow, Deny

Άρνηση από το env=bad_bot

Αλλαγή της κωδικοποίησης τοποθεσίας χρησιμοποιώντας το αρχείο .htaccess

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

  • UTF-8 – καθολική κωδικοποίηση διπλού byte.
  • Windows-1251 – Κυριλλικό (Windows);
  • KOI8-r – Κυριλλικό (KOI8-R);
  • cp866 – Κυριλλικό (DOS);
  • Windows-1250 – Κεντρική Ευρώπη (Windows);
  • Windows-1252 - Δυτική Ευρώπη (Windows).

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

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

Προσθήκη DefaultCharset WINDOWS-1251

Εάν είναι πιο άνετο να εργάζεστε παράλληλα με δύο μεθόδους, είναι σημαντικό οι κωδικοποιήσεις σε αυτές να ταιριάζουν.

Σημειώστε ότι μπορείτε να κάνετε τον διακομιστή να διακωδικοποιεί ανεξάρτητα όλα τα αρχεία που έχουν μεταφορτωθεί σε αυτόν:

CharsetSourceEnc WINDOWS-1251

Στο μέλλον, μπορείτε να ακυρώσετε τη λειτουργία εισάγοντας τον κωδικό:

Charset Απενεργοποίηση ενεργό

Βελτιστοποίηση του ιστότοπου χρησιμοποιώντας .htaccess

  • Επιτάχυνση του ιστότοπού σας χρησιμοποιώντας το Gzip.

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

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

Μέγεθος FileETag MTime

ExpiresActive στις

mod_gzip_dechunk Ναι

mod_gzip_item_include αρχείο \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

  • Βελτιωμένη προσωρινή αποθήκευση ιστότοπου στον διακομιστή.

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

Λήγει Ενεργό Ενεργό

ExpiresByType εφαρμογή/javascript "πρόσβαση συν 7 ημέρες"

ExpiresByType text/javascript "πρόσβαση συν 7 ημέρες"

ExpiresByType text/css "πρόσβαση συν 7 ημέρες"

ExpiresByType εικόνα/gif "πρόσβαση συν 7 ημέρες"

ExpiresByType εικόνα/jpeg "πρόσβαση συν 7 ημέρες"

ExpiresByType εικόνα/png "πρόσβαση συν 7 ημέρες"

Μέγεθος FileETag MTime

ExpiresActive στις

ExpiresΠροεπιλογή "πρόσβαση συν 1 μήνα"

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

  • Αλλαγή της κύριας (ευρετηρίου) σελίδας του ιστότοπου.

Τις περισσότερες φορές, όταν ένας χρήστης επισκέπτεται έναν ιστότοπο, φορτώνεται η σελίδα index.html ή index.php. Για να ξεκινήσει αυτή η ενέργεια να φορτώνει το mypage.php, το αρχείο .htaccess πρέπει να συμπληρωθεί με τον ακόλουθο κώδικα:

DirectoryIndex about.html

Διαμόρφωση παραμέτρων PHP χρησιμοποιώντας το αρχείο .htaccess

Όλοι είναι συνηθισμένοι στο γεγονός ότι η PHP έχει ρυθμιστεί στο αρχείο php.ini, αλλά μπορεί να καθοριστεί ένας αριθμός ρυθμίσεων στο .htaccess. Εδώ θα χρειαστείτε δύο εκφράσεις: php_value για λογικές τιμές enable/disable), php_flag για αριθμητικές τιμές. Τέτοιες εκφράσεις γράφονται ως εξής:

php_flag directive1 VALUE1

php_value directive2 VALUE2

Επιπλέον, η VALUE1 μπορεί να εκφραστεί ως ενεργοποίηση, απενεργοποίηση, 1 ή 0 (1 και ενεργοποίηση μέση ενεργοποίηση και 0 και απενεργοποιημένη μέση απενεργοποίηση).

Στη θέση VALUE2 υποδεικνύεται οποιαδήποτε αριθμητική/γράμματη τιμή που αντιστοιχεί σε συγκεκριμένη οδηγία.

Το directive1 χρησιμοποιείται αποκλειστικά κατά την εργασία με php_flag, μπορεί να αναπαρασταθεί:

  • magic_quotes_gpc - ενεργοποίηση/απενεργοποίηση της συνάρτησης magic_quotes_gpc

php_flag magic_quotes_gpc

  • display_startup_errors - ενεργοποίηση/απενεργοποίηση εμφάνισης σφαλμάτων που παρουσιάζονται κατά την εκτέλεση της PHP

php_flag display_startup_errors 1

  • display_errors - ενεργοποίηση/απενεργοποίηση εμφάνισης σφαλμάτων στο πρόγραμμα περιήγησης

php_flag display_errors 1

  • output_buffering - ενεργοποίηση/απενεργοποίηση της προσωρινής αποθήκευσης εξόδου δεδομένων

>php_flag output_buffering ενεργό

  • register_globals - ενεργοποίηση/απενεργοποίηση καθολικών μεταβλητών

php_flag register_globals σε

  • engine - ενεργοποίηση/απενεργοποίηση της εκτέλεσης PHP στον φάκελο στον οποίο βρίσκεται το .htaccess και σε όλους τους υποφακέλους

php_flag κινητήρας απενεργοποιημένος

Το directive2 (χρησιμοποιείται μόνο με php_value) μπορεί να έχει τις ακόλουθες τιμές:

  • upload_max_filesize - ορίζει το μέγιστο μέγεθος αρχείου μεταφόρτωσης

php_value upload_max_filesize 10M

  • user_agent - ορίζει την τιμή της συμβολοσειράς user_agent που αποστέλλεται από τον διακομιστή

php_value user_agent "Mozilla/4.0 (συμβατό; MSIE 6.0; Windows NT 5.1)"

  • post_max_size - ορίζει το μέγιστο μέγεθος της προωθούμενης αλληλογραφίας

php_value post_max_size 10M

  • default_user - καθορίζει το όνομα χρήστη της βάσης δεδομένων

php_value mysql.default_user χρήστης βάσης δεδομένων

  • default_password - ορίζει τον κωδικό πρόσβασης για τον χρήστη της βάσης δεδομένων

php_value mysql.default_password jk323jh4g

  • default_host - καθορίζει το όνομα του κεντρικού υπολογιστή της βάσης δεδομένων (συνήθως localhost)

php_value mysql.default_host localhost

  • sendmail_from - ορίζει το email για αποστολή αλληλογραφίας χρησιμοποιώντας PHP

php_value sendmail_from

  • auto_prepend_file - καθορίζει το αρχείο που θα προστεθεί στην αρχή κάθε σεναρίου PHP

php_value auto_prepend_file /www/public_html/myfile.php

  • auto_append_file - καθορίζει το αρχείο που θα προσαρτηθεί στο τέλος κάθε σεναρίου PHP

php_value auto_append_file /www/public_html/myfile.php

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

Η χρήση αυτού του αρχείου χρήστη είναι ενεργοποιημένη από προεπιλογή και η αλληλεπίδρασή του με το αρχείο καθολικής πρόσβασης ρυθμίζεται από την οδηγία AllowOverride που βρίσκεται στο τελευταίο.

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

  1. AuthConfig– Σας επιτρέπει να χρησιμοποιείτε οδηγίες αδειών για την προστασία καταλόγων με κωδικούς πρόσβασης. Με άλλα λόγια, με αυτήν την τιμή, η εξουσιοδότηση πραγματοποιείται χρησιμοποιώντας ένα login και έναν κωδικό πρόσβασης, το οποίο ονομάζεται βασικός έλεγχος ταυτότητας.
  2. Πληροφορίες αρχείου– επιτρέπει τη λειτουργία οδηγιών που καθορίζουν τύπους εγγράφων (Κεφαλίδες, Έγγραφα σφαλμάτων, Cookies, Επαναγραφή URL κ.λπ.).
  3. Ευρετήρια– εμφανίζει μια λίστα αρχείων μπροστά στον επισκέπτη όταν ο επιλεγμένος κατάλογος δεν διαθέτει αρχείο index.html ή παρόμοιο.
  4. Οριο– σας επιτρέπει να εργάζεστε με βασικές οδηγίες ελέγχου πρόσβασης (αποδοχή, άρνηση, παραγγελία), Περιορισμός εξουσιοδότησης. Μπορεί, με βάση τα δεδομένα διεύθυνσης της συσκευής-πελάτη, να περιορίσει την πρόσβαση σε αρχεία.
  5. Επιλογές– καθιστά δυνατό τον έλεγχο της λίστας των λειτουργιών διακομιστή στον κατάλογο που είναι ανοιχτές για χρήση. Να σας υπενθυμίσουμε ότι ο κατάλογος υποδεικνύεται στο< Directory>. Η τιμή μοιάζει με αυτό: ExecCGI, FollowSymLinks, MultiViews, Includes, κ.λπ.

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

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

Είναι σημαντικό να κατανοήσετε ότι είναι δυνατό να ελέγξετε την υποστήριξη του τυπικού αρχείου .htaccess χρησιμοποιώντας δύο μεθόδους. Θα μιλήσουμε για αυτούς περαιτέρω.

Μέθοδος 1

Για αυτήν την εύκολη μέθοδο, ας αναγκάσουμε τον Apache να αναζητήσει το "indexgood.html" πριν από το "index.html" χρησιμοποιώντας οδηγίες αρχείων htaccess. Εάν υποστηρίζεται το .htaccess, πατώντας το φάκελο μέσω του προγράμματος περιήγησης, ο Apache θα φορτώσει το .htaccess και η σελίδα "indexgood.html" θα εμφανιστεί στην οθόνη με συγχαρητήρια! Διαφορετικά, ο Apache θα αναζητήσει το αρχείο "index.html" χωρίς να δώσει προσοχή στο .htaccess.

# Αυτή η οδηγία θα αναγκάσει τον Apache να αναζητήσει

# "index_good.html" πριν από το "index.html"

DirectoryIndex index_good.html index.html

Η οδηγία DirectoryIndex λαμβάνει μια λίστα πιθανών αρχείων διαχωρισμένων με κόμματα. Εάν προηγούνται διευθύνσεις URL καταλόγου του Apache, αυτό σημαίνει ότι η διαδρομή προς το αρχείο δεν είναι μια άμεση διαδρομή (όχι http://www.example.com ή http://www.example.com/index.html), επομένως θα καταφύγει στη λίστα για να βρει το καθορισμένο αρχείο. Η λίστα μετακινείται από αριστερά προς τα δεξιά. Εάν βρεθεί το πρώτο αρχείο, θα γίνει λήψη και ο χρήστης θα το δει.

Μέθοδος 2

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

Το "AHHHHHHH" δεν είναι οδηγία Apache, που σημαίνει ότι θα προκαλέσει σφάλμα μόλις προσπαθήσει να προβάλει το αρχείο htaccess. Τι μας λέει αυτό; Εάν εμφανιστεί μπροστά σας μια σελίδα με "Εσωτερικό σφάλμα διακομιστή", η υποστήριξη λειτουργεί. Επειδή αυτό το σφάλμα σημαίνει ότι ο διακομιστής αναζητούσε το αρχείο .htaccess. Αν δείτε το index.html, είναι απενεργοποιημένο.

Πώς να ρυθμίσετε το αρχείο htaccess για το wordpress

Ας συζητήσουμε τα βήματα που απαιτούνται για τη ρύθμιση ενός αρχείου htaccess για wordpress.

  1. Θέσαμε απαγόρευση προβολής των περιεχομένων του καταλόγου(χρησιμοποιούμε τον κατάλογο vverx ως παράδειγμα), που δεν έχει αρχείο index.txt.

Εάν αποθηκεύσουμε το τυπικό αρχείο, τα περιεχόμενα του καταλόγου και τα αρχεία του (λίστα) θα εμφανίζονται μπροστά σε όλα τα άτομα που πληκτρολογούν /vverx/ στο πρόγραμμα περιήγησης.

Δεν το χρειαζόμαστε, οπότε μετά τη γραμμή # ΑΡΧΗ WordPress γράφουμε:

Επιλογές - Ευρετήρια

Χάρη στην οδηγία Options, είναι δυνατό να ορίσετε έναν αριθμό παρόμοιων παραμέτρων. Έτσι η οδηγία μπορεί να χρησιμοποιηθεί με την παράμετρο Indexes. Σε αυτήν την περίπτωση, το σύμβολο επηρεάζει το αν ο επισκέπτης μπορεί να δει τη λίστα των αρχείων. Έτσι, με το "-" δεν θα φαίνεται εάν ο επιλεγμένος κατάλογος δεν περιέχει αρχείο index.txt ή παρόμοιο. Και με το «+» θα δει. Σημειώστε ότι εάν χρειάζεστε προστασία από επιθέσεις χάκερ, το Options είναι τέλειο.

  1. Καθορίστε τη μέθοδο κωδικοποίησης

Το WP χρησιμοποιεί κωδικοποίηση UTF-8 από προεπιλογή. Πρέπει να ορίσουμε αναγκαστικά την κωδικοποίηση του αρχείου htaccess με τον παρακάτω κώδικα. Αυτός είναι ο μόνος τρόπος για να αποφύγετε περιττά προβλήματα:

AddDefaultCharset UTF-8

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

  1. Συμπίεση περιεχομένου

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

Το Apache προσφέρει δύο επιλογές συμπίεσης. Οι ειδικοί επιλέγουν τη λειτουργική μονάδα mod_deflate. Για να το κάνετε αυτό, πρέπει να εισαγάγετε τον κωδικό στο αρχείο htaccess:

AddOutputFilterByType DEFLATE κείμενο/html κείμενο/απλό κείμενο/xml εφαρμογή/xml application/xhtml+xml text/javascript text/css application/x-javascript

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0 χωρίς gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

mod_gzip_item_include αρχείο \.js$

mod_gzip_item_include αρχείο \.css$

  1. Προσωρινή αποθήκευση

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

Για την προσωρινή αποθήκευση, οι λειτουργικές μονάδες mod_expires και mod_headers χρησιμοποιούνται στο αρχείο htaccess. Κάθε τύπος αρχείου απαιτεί ξεχωριστή ρύθμιση της χρονικής περιόδου προσωρινής αποθήκευσης ή της απουσίας της. Ας δούμε ένα παράδειγμα κώδικα στο αρχείο mod_headers του αρχείου htaccess, το οποίο δεν επιτρέπει την αποθήκευση αρχείων PHP στην κρυφή μνήμη.

# Απαγόρευση προσωρινής αποθήκευσης εγγράφων με επέκταση php

Προσάρτηση κεφαλίδας Cache-Control "no-store, no-cache, must-revalidate"

ExpiresActive On ExpiresΠροεπιλογή "τώρα"

Μια σχεδόν ιδανική μέθοδος, κατάλληλη για οποιοδήποτε αρχείο, κωδικοποιημένη ως εξής:

# Ενεργοποίηση προσωρινής μνήμης στα προγράμματα περιήγησης επισκεπτών

# Όλες οι επεκτάσεις html και htm θα αποθηκευτούν στην προσωρινή μνήμη του προγράμματος περιήγησης για μία ημέρα

Σύνολο κεφαλίδων Cache-Control "max-age=43200"

# Όλες οι μορφές css, javascript και txt θα αποθηκευτούν στην προσωρινή μνήμη του προγράμματος περιήγησης για μία εβδομάδα

Σύνολο κεφαλίδων Cache-Control "max-age=604800"

# Όλα τα φλας και οι εικόνες θα αποθηκευτούν στην προσωρινή μνήμη του προγράμματος περιήγησης για ένα μήνα

Σύνολο κεφαλίδων Cache-Control "max-age=2592000"

# Απενεργοποιήστε την προσωρινή αποθήκευση php και άλλων επεκτάσεων

Η κεφαλίδα απορρίφθηκε το Cache-Control

Τι σφάλμα μπορεί να παρουσιαστεί στο αρχείο .htaccess

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

Δώστε προσοχή στο αρχείο error.log στη ρίζα του ιστότοπού σας (αν υπάρχει εκεί). Ας πούμε ότι μοιάζει με αυτό:

Στη συνέχεια, η γραμμή υποδεικνύει ένα σφάλμα στο αρχείο w:/home/h15.ru/bospor/.htaccess (http://bospor.h15.ru/.htaccess): Η οδηγία CustomLog δεν είναι κατάλληλη εδώ.

Πού μπορώ να κατεβάσω το σωστό αρχείο .htaccess

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

Σημειώστε ότι όλα τα άλλα καταχωρούνται σε ατομική βάση.

Όταν καταφέρετε να κατεβάσετε το βέλτιστο αρχείο .htaccess για WordPress, πρέπει να το ανοίξετε στο Notepad++. Επόμενο κλικ Cntr+Fκαι αντικαταστήστε το προεπιλεγμένο zesite.ru σε έξι σημεία με τη διεύθυνση του ιστότοπού σας.

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

Έτσι, τώρα ολοκληρώθηκαν όλοι οι χειρισμοί, το μόνο που έχετε να κάνετε είναι να ανεβάσετε το βέλτιστο .htaccess για WordPress στη ρίζα του ιστότοπου αντί για το αρχείο .htaccess που βρίσκεται εκεί.

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


Πίνακας ( => 21 [~ID] => 21 => 09.28.2019 13:01:03 [~TIMESTAMP_X] => 09.28.2019 13:01:03 => 1 [~MODIFIED_BY] => 1 => 09.21. 2019 10:35:17 [~DATE_CREATE] => 09/21/2019 10:35:17 => 1 [~CREATED_BY] => 1 => 6 [~IBLOCK_ID] => 6 => [~IBLOCK_SECTION_ID] => => Y [~ACTIVE] => Y => Y [~GLOBAL_ACTIVE] => Y => 500 [~SORT] => 500 => Άρθρα του Dmitry Svistunov [~NAME] => Άρθρα του Dmitry Svistunov => 11076 [ ~PICTURE] = > 11076 => 7 [~LEFT_MARGIN] => 7 => 8 [~RIGHT_MARGIN] => 8 => 1 [~DEPTH_LEVEL] => 1 => Dmitry Svistunov [~DESCRIPTION] => Dmitry Svistunov => κείμενο [~DESCRIPTION_TYPE ] => κείμενο => Άρθρα του Dmitry Svistunov Dmitry Svistunov [~SEARCHABLE_CONTENT] => Άρθρα του Dmitry Svistunov Dmitry Svistunov => statyi-dmitriya-svistunova [~CODE] => statyi-~dmitovariya-s XML_ID] => => [~TMP_ID] => => [~DETAIL_PICTURE] => => [~SOCNET_GROUP_ID] => => /blog/index.php?ID=6 [~LIST_PAGE_URL] => /blog/index .php?ID=6 => /blog/list.php?SECTION_ID=21 [~SECTION_PAGE_URL] => /blog/list.php?SECTION_ID=21 => blog [~IBLOCK_TYPE_ID] => blog => ιστολόγιο [~IBLOCK_CODE ] => ιστολόγιο => [~IBLOCK_EXTERNAL_ID] => => [~EXTERNAL_ID] =>)

Το "1C-Bitrix: Site Management" λειτουργεί με οποιοδήποτε επίπεδο δικαιωμάτων του προσδιορίσατε κατά την εγκατάσταση (εγκατάσταση).

Για να λειτουργεί σωστά το προϊόν με φακέλους και αρχεία με τα καθορισμένα CHMOD(έγραψε και δημιούργησε), πρέπει να ορίσετε στο αρχείο / bitrix/php_διεπαφή/dbconn.phpοι ακόλουθες σταθερές:

Αυτές είναι τυπικές ρυθμίσεις αδειών στις περισσότερες υπηρεσίες φιλοξενίας ( 0644 - για αρχεία, 0755 - για φακέλους). Εάν αντιμετωπίσετε προβλήματα με τη λειτουργία, επικοινωνήστε με την τεχνική υποστήριξη φιλοξενίας.

Μπορείτε να ορίσετε ανεξάρτητα το επιθυμητό επίπεδο δικαιωμάτων χρησιμοποιώντας την εντολή CHMODσε λειτουργία κονσόλας.

Η ακόλουθη κλήση ορίζει το επίπεδο δικαιωμάτων τόσο για αρχεία όσο και για φακέλους:

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

εύρημα. - τύπος d - exec chmod 0755 () ";"

Εάν πρέπει να ορίσετε διαφορετικά δικαιώματα για φακέλους και αρχεία, τότε εκτελέστε το ακόλουθο σενάριο:

define("BX_FILE_PERMISSIONS", 0644);

define("BX_DIR_PERMISSIONS", 0755);

συνάρτηση chmod_R($path) (

$handle = opendir($path);

ενώ (false!== ($file = readdir($handle))) (

εάν (($file!== ".") && ($file!== "..")) (

if (is_file($path."/".$file)) (

chmod($path. "/" . $file, BX_FILE_PERMISSIONS);

chmod($path. "/" . $file, BX_DIR_PERMISSIONS);

chmod_R($path. "/" . $file);

closeir($handle);


$path=dirname(__FILE__);

Για να ορίσετε ξεχωριστά αναδρομικά δικαιώματα για αρχεία και φακέλους, μπορείτε να χρησιμοποιήσετε ορισμένα προγράμματα FTPπελάτες. Για παράδειγμα, FlashFXPεκδόσεις 3.xx και νεότερες.

FlashFXPΣας επιτρέπει επίσης να διαχωρίζετε δικαιώματα για αρχεία και φακέλους, αλλά αλλάζει τα δικαιώματα πιο αργά.

Δώστε προσοχή στις ρυθμίσεις των αντίστοιχων σημαιών:

· ΧωριστάσειράΑρχείοκαιΝτοσιέγνωρίσματα(ορίστε δικαιώματα για αρχεία και φακέλους χωριστά).

· Ισχύουναλλαγέςπρος τηνόλαυποφακέλουςκαιαρχεία(αναδρομική ρύθμιση δικαιωμάτων σε υποφακέλους και αρχεία).

Κάθε ρύθμιση έχει το δικό της επίπεδο (Εικ. 10.3 και Εικ. 10.4):

https://pandia.ru/text/80/333/images/image084.gif" width="353" height="310 src=">

Ρύζι. 10.4 Ρύθμιση δικαιωμάτων φακέλου

Σημείωση:μονάδα μέτρησης Διαχείριση δομήςσας επιτρέπει να προβάλλετε δικαιώματα πρόσβασης σε αρχεία και φακέλους που έχουν οριστεί σε επίπεδο συστήματος (Εικ. 10.5):

Κάτοχος" href="/text/category/vladeletc/" rel="bookmark">ομάδα κατόχων και χρηστών (για *nix).

Χρήση αρχείων. htaccess

Αυτή η ενότητα περιγράφει τον τρόπο διαμόρφωσης του διακομιστή web Απάχηςχρησιμοποιώντας αρχείο .htaccess.

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

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

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

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

Γενικά, η σύνταξη του αρχείου είναι .htaccessπαρόμοια με τη σύνταξη του κύριου αρχείου διαμόρφωσης. Ωστόσο, η επίδραση των οδηγιών αρχείων μπορεί να περιοριστεί από την οδηγία AllowOverride. Καθορίζει τους τύπους των οδηγιών αρχείων .htaccessμπορεί να παρακάμψει παλαιότερες ρυθμίσεις πρόσβασης.

Σημείωση:Κατά την εγκατάσταση, το βήμα προ-ελέγχου ελέγχει την επεξεργασία του αρχείου .htaccess.

Στο παρεχόμενο αρχείο προϊόντος .htaccessαπό προεπιλογή περιέχει τις ακόλουθες οδηγίες:

Επιλογές - Ευρετήρια

Έγγραφο σφάλματος 404 /404.php

#php_flag allow_call_time_pass_reference 1

#php_flag συνεδρία. use_trans_sid off

#php_value display_errors 1

mbstring php_value. func_overload 2

mbstring php_value. interior_encoding UTF-8

Επιλογές +FollowSymLinks

RewriteEngine On

RewriteRule.* -


RewriteCond %(REQUEST_FILENAME) !-f

RewriteCond %(REQUEST_FILENAME) !-l

RewriteCond %(REQUEST_FILENAME) !-d

RewriteCond %(REQUEST_FILENAME) !/bitrix/urlrewrite. php$

RewriteRule ^(.*)$ /bitrix/urlrewrite. php[L]

Ευρετήριο DirectoryIndex. ευρετήριο php. html

ExpiresActive στις

ExpiresByType εικόνα/jpeg "πρόσβαση συν 3 ημέρες"

ExpiresByType εικόνα/gif "πρόσβαση συν 3 ημέρες"

Σημείωση:για να ενεργοποιήσετε το σχόλιο PHPσύμφωνα με τις οδηγίες είναι απαραίτητο να αφαιρεθεί το σήμα σχολίου ( # ) στην αρχή της γραμμής. Εάν στον διακομιστή σας Απάχηςκαμία άδεια χρήσης PHP-σημαία, η εκτέλεση αυτών των οδηγιών θα οδηγήσει σε εσωτερικό σφάλμα (500). Εάν παρουσιαστεί κάποιο σφάλμα, πρέπει να σχολιάσετε ξανά τις οδηγίες τοποθετώντας την πινακίδα στην αρχή της καθεμιάς # .

Για άλλους PHPοδηγίες που δεν επισημαίνονται με σχόλιο ( # ), προστέθηκε έλεγχος για την παρουσία των απαραίτητων μονάδων Απάχηςστο σύστημα. Η τήρηση αυτών των οδηγιών δεν θα προκαλέσει σφάλμα στο σύστημα.

· PHPδιευθυντικός συνεδρία php_flag. use_trans_sid offαπενεργοποιεί την αντικατάσταση του αναγνωριστικού περιόδου σύνδεσης στον σύνδεσμο στον ιστότοπο.

· νόημα PHPσημαία php_value display_errors, ίσος 1 , υποδεικνύει ότι η άδεια εμφάνισης μηνυμάτων σφάλματος είναι ενεργοποιημένη, οδηγία php_value error_reportingκαθορίζει το επίπεδο των σφαλμάτων που θα προκαλέσουν την εμφάνιση ενός μηνύματος. Χρησιμοποιώντας αυτές τις οδηγίες, μπορείτε να διαμορφώσετε τη λειτουργία εξόδου του διερμηνέα PHPμηνύματα λάθους.

Οδηγίες mbstring php_value. func_overload 2Και mbstring php_value. interior_encoding UTF-8διαχείριση των ρυθμίσεων της βιβλιοθήκης mbstring.

· μπλοκ οδηγιών IfModule mod_rewrite. ντο- αυτός είναι ο καθορισμός κανόνων για mod_rewrite.

· οδηγία ExpiresActive στιςπεριλαμβάνει προσωρινή αποθήκευση εικόνων, η οποία τους επιτρέπει να φορτώνουν γρηγορότερα όταν γίνεται ξανά πρόσβαση στις σελίδες του ιστότοπου. Οδηγίες ExpiresByType εικόνα/jpeg "πρόσβαση συν 3 ημέρες"Και ExpiresByType εικόνα/gif "πρόσβαση συν 3 ημέρες", με τη σειρά μου, καθορίζω τη μορφή εικόνας και την περίοδο για την οποία θα εκτελεστεί η προσωρινή αποθήκευση. Από προεπιλογή, οι εικόνες της μορφής αποθηκεύονται προσωρινά *.jpegΚαι *.gifγια διάστημα 3 ημερών.

Σημείωση:αφού κάνετε αλλαγές, αρχειοθετήστε .htaccessπρέπει να αποθηκευτεί σε μορφή UNIX (για το κέλυφος FAR, η επιλογή είναι "Αποθήκευση ως κείμενο UNIX").

Σφάλματα διακομιστή

500 Εσωτερικό σφάλμα διακομιστή

Ένα σφάλμα διακομιστή μπορεί να προκληθεί από διάφορους λόγους, επομένως η διάγνωσή του είναι αρκετά περίπλοκη και χρονοβόρα. Δεν πρόκειται για σφάλμα "1C-Bitrix: Διαχείριση τοποθεσίας". Παρουσιάζεται συχνά σφάλμα διακομιστή σε κοινόχρηστη φιλοξενία λόγω περιορισμένων πόρων του συστήματος.

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

· Ένα τυπικό παράδειγμα της αιτίας ενός σφάλματος διακομιστή μπορεί να είναι η υπέρβαση των επιτρεπόμενων δικαιωμάτων στη φιλοξενία.

Για παράδειγμα, γίνεται μια προσπάθεια εκτέλεσης ενός αρχείου με χαρακτηριστικά που δεν επιτρέπεται να εκτελούνται στον διακομιστή (για παράδειγμα, το αρχείο έχει τα χαρακτηριστικά 0755 , αλλά επιτρέπεται 0711 ).

· Ένας άλλος πιθανός λόγος μπορεί να είναι η ύπαρξη προθεσμίας για την εκτέλεση PHP-σενάρια. Ή το σύστημα δεν έχει δικαιώματα εγγραφής ή ανάγνωσης του αρχείου κ.λπ.

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

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

Ο Apache Web Server είναι ένα ισχυρό και πλούσιο σε δυνατότητες προϊόν λογισμικού με ποικίλες δυνατότητες. Αυτό το άρθρο θα συζητήσει τις τεχνικές διαμόρφωσης του Apache που συναντώνται πιο συχνά κατά την ανάπτυξη τοποθεσιών Web.

Όπως γνωρίζετε, όλες οι ρυθμίσεις διακομιστή Apache βρίσκονται στο αρχείο httpd.conf, το οποίο δεν είναι πάντα προσβάσιμο. Για παράδειγμα, εάν χρησιμοποιείτε έναν εικονικό διακομιστή στη φιλοξενία, όταν ένας διακομιστής Apache εξυπηρετεί εκατοντάδες τοποθεσίες, τότε, φυσικά, δεν μπορείτε να επιτρέψετε στον κάτοχο μιας τοποθεσίας να αλλάξει τη διαμόρφωση διακομιστή, κάτι που θα επηρεάσει όλους τους άλλους ιστότοπους. Ωστόσο, ο διακομιστής Web Apache επιτρέπει τη διαμόρφωση σε επίπεδο μεμονωμένου καταλόγου χρησιμοποιώντας αρχεία .htaccess. Η εργασία με αυτά τα αρχεία, ως τα μόνα αρχεία ρυθμίσεων που είναι διαθέσιμα στους περισσότερους προγραμματιστές Ιστού, θα είναι η κύρια εστίαση αυτού του άρθρου.

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

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

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

Για να χρησιμοποιηθούν τα αρχεία .htaccess, απαιτούνται κατάλληλες ρυθμίσεις στο κύριο αρχείο διαμόρφωσης httpd.conf, όπου πρέπει να γραφτούν οδηγίες που θα επιτρέψουν στο αρχείο .htaccess να παρακάμψει τη διαμόρφωση του διακομιστή Web στον κατάλογο. Η λίστα αυτών των οδηγιών καθορίζεται από την οδηγία AllowOverride.

Η οδηγία AllowOverride μπορεί να περιλαμβάνει μία ή συνδυασμό των ακόλουθων οδηγιών: AuthConfig, FileInfo, Indexes, Limit, Options, All, None

Για να δοθούν στις οδηγίες αρχείων .htaccess τα μέγιστα δικαιώματα τροποποίησης οδηγιών, η τιμή της οδηγίας AllowOverride στο αρχείο httpd.conf πρέπει να είναι ίση με Όλα. Αυτή είναι η προεπιλεγμένη τιμή.

Allow Override All

Μπορείτε να αποτρέψετε την παράκαμψη οποιωνδήποτε οδηγιών στο configuration files.htaccess χρησιμοποιώντας την τιμή None:

Allow Override None

Σχόλιο
Το όνομα του αρχείου διαμόρφωσης μπορεί να αλλάξει και, για παράδειγμα, να το ονομάσετε όχι .htaccess, αλλά access.conf. Το όνομα αυτού του αρχείου καθορίζεται από την οδηγία AccessFileName στο αρχείο httpd.conf. Δεν συνιστάται η αλλαγή του ονόματος του αρχείου διαμόρφωσης .htaccess, επειδή Αυτό μπορεί να περιπλέξει την περαιτέρω υποστήριξη διακομιστή.

Syntax.htaccess

Πριν δούμε τα παραδείγματα, ας δούμε τη σύνταξη των οδηγιών σε αρχεία .htaccess.

  • Οι διαδρομές προς τα αρχεία και τους καταλόγους πρέπει να καθορίζονται από τη ρίζα του διακομιστή, για παράδειγμα, /pub/articles/masters/php/
  • Κατά τον καθορισμό απόλυτων διευθύνσεων URL, πρέπει να προσδιορίζονται πρωτόκολλα, για παράδειγμα: Ανακατεύθυνση / http://www.site.ru
  • Στα αρχεία .htaccess, δεν επιτρέπονται κενά στις διαδρομές προς τα αρχεία και στα ονόματα των ίδιων των αρχείων, επειδή Αυτό οδηγεί στη δημιουργία ενός κωδικού απόκρισης 500 - σφάλμα διαμόρφωσης διακομιστή: "Εσωτερικό σφάλμα διακομιστή".

Παραδείγματα χρήσης .htaccess

Σελίδες ευρετηρίου:

Ενδέχεται να προκύψουν καταστάσεις όταν είναι απαραίτητο να αλλάξετε τη σύνθεση των αρχείων ευρετηρίου, για παράδειγμα, εάν απαιτείται η σελίδα ευρετηρίου index.php, αλλά δεν είναι γραμμένη στο κύριο αρχείο διαμόρφωσης httpd.conf. Αυτό το πρόβλημα μπορεί να λυθεί χρησιμοποιώντας το αρχείο .htaccess, στο οποίο πρέπει να δημιουργήσετε μια οδηγία DirectoryIndex, η οποία θα αναφέρει τα ονόματα των σελίδων ευρετηρίου:

DirectoryIndex index.php index.shtml index.html

Όταν ζητάτε έναν κατάλογο χωρίς να καθορίσετε ένα όνομα αρχείου, θα αναζητήσει πρώτα μια σελίδα με το όνομα index.php. Εάν μια σελίδα με αυτό το όνομα δεν βρίσκεται στον κατάλογο, τότε παρόμοιες λειτουργίες θα εκτελεστούν με το αρχείο index.shtml κ.λπ. στο τέλος της λίστας μέχρι να βρεθεί και να ανοίξει η αντίστοιχη σελίδα.

Απαγόρευση εμφάνισης περιεχομένων καταλόγου εάν δεν υπάρχει αρχείο ευρετηρίου

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

Επιλογές – Ευρετήρια

Επεξεργασία κωδικών απόκρισης διακομιστή Web Apache

Κανένας ιστότοπος δεν είναι προστατευμένος από σφάλματα. Το πιο συνηθισμένο λάθος είναι να ακολουθήσετε έναν σύνδεσμο προς μια ανύπαρκτη σελίδα. Σε αυτήν την περίπτωση, ο Apache δημιουργεί έναν κωδικό απόκρισης 404 και εμφανίζει μια σελίδα σφάλματος που δημιουργείται αυτόματα. Η ύπαρξη ανύπαρκτων σελίδων δημιουργεί κακή εντύπωση στους επισκέπτες του ιστότοπου. Αυτή η εντύπωση μπορεί να εξομαλυνθεί εάν, αντί για τυπικές σελίδες, αντικαταστήσετε τις δικές σας σελίδες με ένα μήνυμα σφάλματος. Η οδηγία ErrorDocument είναι υπεύθυνη για την εκχώρηση σελίδων που χειρίζονται κωδικούς απόκρισης HTTP.

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Μετά την οδηγία ErrorDocument, θα πρέπει να καθορίσετε τον κωδικό απόκρισης και τη σελίδα στην οποία θα πρέπει να ανακατευθυνθεί ο επισκέπτης όταν εμφανίζεται αυτός ο κωδικός απόκρισης.

  • Σφάλμα 401 - Το αίτημα απαιτεί έλεγχο ταυτότητας χρήστη (Μη εξουσιοδοτημένο).
  • Σφάλμα 403 - Απαγορεύεται η πρόσβαση στον ζητούμενο πόρο (Απαγορεύεται).
  • Σφάλμα 404 - Το έγγραφο που ζητήθηκε δεν βρέθηκε στον διακομιστή (Δεν βρέθηκε).
  • Σφάλμα 500 - Σφάλμα διαμόρφωσης διακομιστή ή εξωτερικού προγράμματος (Internal Server Error).

Εκτελέστε κώδικα PHP σε αρχεία HTML

Συνήθως ο κώδικας PHP εκτελείται σε αρχεία με επεκτάσεις php. Μερικές φορές προκύπτουν καταστάσεις όταν είναι απαραίτητο να εκτελεστεί κώδικας PHP σε αρχεία με διαφορετική επέκταση. Σε αυτήν την περίπτωση, μπορείτε να δώσετε εντολή στον διακομιστή Web να εκτελέσει κώδικα PHP όχι μόνο σε αρχεία με επέκταση php, αλλά και σε αρχεία με επέκταση html.

RemoveHandler.html.htm
Εφαρμογή AddType/x-httpd-php .php .htm .html .phtml

Η πρώτη γραμμή καταργεί το πρόγραμμα χειρισμού για αρχεία με τις επεκτάσεις html και htm και η δεύτερη γραμμή λέει στον διακομιστή να χρησιμοποιήσει το πρόγραμμα χειρισμού PHP για αρχεία με τις επεκτάσεις htm και html

Ρύθμιση κωδικοποίησης αρχείων στον διακομιστή

Η καθορισμένη κωδικοποίηση αποστέλλεται στο πρόγραμμα περιήγησης στην κεφαλίδα Content-Type και θα επιτρέψει στο πρόγραμμα περιήγησης του πελάτη να μεταβεί αυτόματα στην απαιτούμενη κωδικοποίηση.

AddDefaultCharsetWindows-1251

Ρύθμιση της κωδικοποίησης των ληφθέντων αρχείων

Κατά τη μεταφόρτωση αρχείων στον διακομιστή, μπορείτε να καθορίσετε σε ποια κωδικοποίηση ο διακομιστής θα πρέπει να περιμένει το αρχείο.

CharsetSourceEnc windows-1251

Απενεργοποίηση της οδηγίας MultiViews

Η επιλογή MultiViews που είναι ενεργοποιημένη στη φιλοξενία μπορεί να προκαλέσει απροσδόκητα προβλήματα, για παράδειγμα, εμφάνιση σελίδων ιστότοπου που δεν υπάρχουν. Ας υποθέσουμε ότι υπάρχει μια σελίδα στον ιστότοπο με τη διεύθυνση http://www.sait.ru/down.php και αν οι επισκέπτες πάνε στον ανύπαρκτο κατάλογο http://www.sait.ru/down/, τότε η ενεργοποιημένη επιλογή MultiViews θα αντικαταστήσει το αρχείο down.php. Ωστόσο, η αντικατάσταση δεν θα ολοκληρωθεί πλήρως - διαδρομές προς εικόνες, φύλλα στυλ κ.λπ. θα εισαχθεί λανθασμένα. Δηλαδή, η σελίδα θα εμφανίζεται με παραμορφώσεις. Για να καταστείλετε αυτήν τη συμπεριφορά Apache, η επιλογή MultiViews θα πρέπει να είναι απενεργοποιημένη.

Επιλογές -MultiViews

Άρνηση πρόσβασης σε αρχεία

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

Σημείωση
Η χρήση των οδηγιών Deny και Allow ελέγχει μόνο την πρόσβαση σε αρχεία από το πρόγραμμα περιήγησης ή από άλλο πρόγραμμα-πελάτη. Τέτοιες απαγορεύσεις δεν ισχύουν για σενάρια διακομιστή.

Αποκλεισμός πρόσβασης σε αρχεία από το πρόγραμμα περιήγησης

Αρνηθείτε από όλους

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

Απαγόρευση πρόσβασης σε ένα συγκεκριμένο αρχείο

Αρνηθείτε από όλους

Εδώ, δεν επιτρέπεται μόνο η πρόσβαση στα αρχεία με το όνομα config.php.

Άρνηση πρόσβασης σε αρχεία επέκτασης inc

Αρνηθείτε από όλους

* — οποιαδήποτε ακολουθία χαρακτήρων, εξαιρουμένου του χαρακτήρα κάθετου (/).

Απαγόρευση πρόσβασης σε αρχεία με διάφορους τύπους επεκτάσεων

Αρνηθείτε από όλους

Απαγορεύεται η πρόσβαση σε αρχεία με την επέκταση inc, conf και cfg

Απαγόρευση πρόσβασης από μια συγκεκριμένη διεύθυνση IP

Άρνηση από 195.135.232.70

Να επιτρέπεται η πρόσβαση μόνο από μια συγκεκριμένη διεύθυνση IP

Απόρριψη παραγγελίας, επιτρέψτε
Αρνηθείτε από όλους
Επιτρέψτε από 195.135.232.70

Η οδηγία Order σας επιτρέπει να καθορίσετε τη σειρά με την οποία θα εκτελεστούν οι οδηγίες. Αρχικά, εκτελείται η οδηγία για άρνηση πρόσβασης (η οδηγία άρνησης) και στη συνέχεια επιτρέπεται η πρόσβαση για τη διεύθυνση IP 195.135.232.70 (η οδηγία Να επιτρέπεται). Εάν στην πρώτη γραμμή αλλάξετε τη σειρά των οδηγιών σε Παραγγελία αποδοχής, άρνησης, τότε η πρόσβαση για τη διεύθυνση IP 195.135.232.70 δεν θα ανοίξει, επειδή Η οδηγία άρνησης που εκτελέστηκε τελευταία θα παρακάμψει την οδηγία Αποδοχή.

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