Web Hosting Domain Names dnHost Site
Προηγμένη αναζήτηση Αναζητήστε τη γνωσιακή βάση

htaccess αρχεία - τί είναι και σε τι χρησιμεύουν;

Προβολές: 8822 Τελευταία ενημέρωση: 05/09/2017 10:56 0 Βαθμολογία/ Χρήστες

Γνωριμία με το αρχείο .htaccess

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

Υποστηρίζει ο διακομιστής μου .htaccess; 
Εάν ο διακομιστής στον οποίο βρίσκεται η ιστοσελίδα σας είναι Unix ή Linux ή τρέχει Apache τότε το πιθανότερο είναι να έχετε υποστήριξη htaccess εκτός αν δεν επιτρέπει κάτι τέτοιο ο διαχειριστή του συστήματός σας. Επίσης αν έχετε δυνατότητα δημιουργίας / χρήσης προστατευμένων καταλόγων τότε και πάλι το πιθανότερο είναι να υποστηρίζονται τα αρχεία .htaccess.

Η dnHost υποστηρίζει τα .htaccess αρχεία!

Τι μπορεί να κάνει ένα αρχείο .htaccess; 
Κάποιες από τις πραγματικά πάμπολλες δυνατότητες του htaccess: προστασία καταλόγων με κωδικό, αυτόματη ανακατεύθυνση χρηστών, δικές σας σελίδες σφαλμάτων (custom error pages), φιλτράρισμα διευθύνσεων IP ώστε να επιτρέπεται ή να αποκλείεται η πρόσβασή τους στη σελίδα, ρύθμιση του directory browsing. 

Δημιουργία αρχείου .htaccess 
Δημιουργήστε ένα νέο αρχείο κειμένου (txt) και δώστε του το όνομα .htaccess. Εάν το λειτουργικό σας δεν σας επιτρέπει τη δημιουργία αρχείων χωρίς όνομα και μόνο με την επέκταση .htaccess τότε δώστε του το όνομα htaccess.txt, ανεβάστε το στο site σας και μέσω FTP μετονομάστε το σε .htaccess.

Τυπικές σελίδες σφαλμάτων (Custom Error Pages) 
Μπορείτε αντί των προεπιλεγμένων να χρησιμοποιήσετε τις δικές σας σελίδες σφαλμάτων στο site σας. Το πλεονέκτημα τις χρήσης των δικών σας σελίδων σφαλμάτων είναι τόσο αισθητικό (καλαίσθητες σελίδες αντί των άχαρων του διακομιστή σας) όσο και λειτουργικό (ο επισκέπτης δεν φεύγει από το site, έχει μπροστά του ακόμα μενού και συνδέσμους να επιλέξει κάτι άλλο). Μπορείτε να δημιουργήσετε τέτοιες σελίδες για οποιοδήποτε σφάλμα αρκεί να γνωρίζετε τον αριθμό του (πχ 404 για το «η σελίδα δεν βρέθηκε»). 

Η αντίστοιχη εντολή στο αρχείο .htaccess έχει την μορφή: ErrorDocument αριθμός_ασφάλματος /διαδρομή στο αρχείο/file.html 

Για παράδειγμα αν θέλετε να φτιάξετε μία δική σας σελίδα σφάλματος για το σφάλμα 404 δημιουργήστε την σελίδα και δώστε της ένα όνομα (έστω not_found.html στο root directory) και κατόπιν προσθέστε στο .htaccess το εξής: ErrorDocument 404 /not_found.html 

Τα πιο συχνά σφάλματα είναι τα εξής: 
401 - Authorization Required (απαιτείται πιστοποίηση) 
400 - Bad request (κακό αίτημα) 
403  Forbidden (απαγορεύεται) 
500 - Internal Server Error (εσωτερικό σφάλμα διακομιστή) 
404 - Wrong page (λάθος σελίδα) 

Χρήσιμες εφαρμογές .htaccess: 
- Περιορισμός της πρόσβασης σε ορισμένα directories με χρήση passwords. 
- Ανακατεύθυνση σε άλλη ιστοσελίδα. 
- Χειρισμός μηνυμάτων για διάφορες καταστάσεις. 
- Αλλαγή Mime-types. 
- Ενεργοποίηση/απενεργοποίηση διαφόρων λειτουργιών του server.


Χρήσιμα παραδείγματα και τεχνικές για το αρχείο .htaccess


Ενεργοποίηση της περιήγησης σε ένα φάκελο

Options +Indexes

## Αποκλεισμός κάποιων τύπων αρχείων ώστε να μην προβάλλονται

IndexIgnore *.wmv *.mp4 *.avi


Απενεργοποίηση της περιήγησης σε ένα φάκελο

Options All -Indexes


Προσαρμοσμένες σελίδες σφαλμάτων

ErrorDocument 403 /forbidden.html

ErrorDocument 404 /notfound.html

ErrorDocument 500 /servererror.html


Κάντε το SSI να λειτουργεί με σελίδες HTML/SHTML

AddType text/html .html

AddType text/html .shtml

AddHandler server-parsed .html

AddHandler server-parsed .shtml


Αλλαγή της προεπιλεγμένης σελίδας

DirectoryIndex myhome.htm index.htm index.php


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

    order deny,allow

    deny from 205.55.152.53

    deny from 8.50.55.53

    deny from .spammer.com

    allow from all

όπου 205.55.152.53 8.50.55.53 .spammer.com είναι ενδεικτικές τιμές IP και domains που θέλετε να αποκλείσετε.


Επιτρέψτε την πρόσβαση μόνο σε χρήστες του εσωτερικού δικτύου

order deny,allow

deny from all

allow from 192.168.0.0/24


Ανακατεύθυνση των χρηστών σε νέα σελίδα/κατάλογο

Redirect oldpage.html http://www.mydomain.gr/newpage.html

Redirect /olddir http://www.mydomain.gr/newdir/


Μπλοκάρετε τα Hotlinks

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.gr/.*$ [NC]

RewriteRule .(gif|jpg)$ - [F]


Αλλάξτε την επέκταση των script σας

AddType application/x-httpd-php .gne


Redirection από ένα domain χωρίς "www" προς το ίδιο domain με "www".
Όταν ο χρήστης ανοίγει το site "mydomain.gr" να τον κατευθύνει αυτόματα στο "www.mydomain.gr":

 

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.gr [NC]
RewriteRule ^(.*)$ http://www.mydomain.gr/$1 [L,R=301]