Χρησιμοποιήστε το mod_rewrite για να ανακατευθύνετε ολόκληρο τον ιστότοπό σας

Htaccess, mod_rewrite και Apache

Οι ιστοσελίδες κινούνται. Αυτό είναι γεγονός της ανάπτυξης Ιστού. Και αν είστε έξυπνοι, χρησιμοποιείτε 301 ανακατευθύνσεις για να αποτρέψετε τη σήψη. Τι γίνεται όμως αν μετακινήσετε ολόκληρο τον ιστότοπο; Θα μπορούσατε να περάσετε και να γράψετε με μη αυτόματο τρόπο μια ανακατεύθυνση για κάθε αρχείο του ιστότοπου. Αλλά αυτό θα μπορούσε να πάρει πολύ χρόνο. Ευτυχώς είναι δυνατή η χρήση του htaccess και του mod_rewrite για την ανακατεύθυνση ολόκληρου του ιστότοπου με μερικές μόνο γραμμές κώδικα.

Πώς να χρησιμοποιήσετε το mod_rewrite για να ανακατευθύνετε τον ιστότοπό σας

  1. Στη ρίζα του παλιού σας διακομιστή Web, επεξεργαστείτε ή δημιουργήστε ένα νέο αρχείο .htaccess χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας κειμένου.
  2. Προσθέστε τη γραμμή: RewriteEngine ON
  3. Η προσθήκη: RewriteRule ^ (. *) $ Http://newdomain.com/$1 [R = 301, L]

Αυτή η γραμμή θα λάβει κάθε αρχείο που ζητήθηκε στον παλιό σας τομέα και θα την προσθέσει (με το ίδιο όνομα αρχείου) στη διεύθυνση URL του νέου σας τομέα. Για παράδειγμα, το http://www.olddomain.com/filename θα μεταφερθεί στο http://www.newdomain.com/filename. Το R = 301 λέει στον διακομιστή ότι η ανακατεύθυνση είναι μόνιμη.

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

RewriteRule ^. * $ Http://newdomain.com/ [R = 301, L]

Όπως και με τον προηγούμενο κανόνα, το R = 301 καθιστά αυτό το 301 ανακατεύθυνση. Και το L λέει στον διακομιστή ότι αυτός είναι ο τελευταίος κανόνας.

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