Käytä mod_rewriteä koko sivustosi uudelleenohjaamiseen

Htaccess, mod_rewrite ja Apache

Web-sivut liikkuvat. Se on Web-kehityksen tosiasia. Ja jos olet älykäs, käytät 301 uudelleenohjausta estämään linkin rikkoutuminen. Mutta entä jos siirrät koko sivuston? Voit käydä läpi ja manuaalisesti kirjoittaa uudelleenohjauksen jokaiselle sivuston tiedostolle. Mutta se voi kestää kauan. Onneksi on mahdollista käyttää htaccessia ja mod_rewriteä uudelleenohjataksesi koko verkkosivustoa vain muutamalla rivillä olevaa koodia.

Kuinka käyttää mod_rewrite ohjaa sivustosi

  1. Muokkaa tai luo vanha Web-palvelimen juuressa uuden .htaccess-tiedoston tekstieditorilla.
  2. Lisää rivi: RewriteEngine ON
  3. Lisää: RewriteRule ^ (. *) $ Http://newdomain.com/$1 [R = 301, L]

Tämä rivi vie kaikki vanhasta verkkotunnuksestasi pyydetyt tiedostot ja liitä se (samalla tiedostonimellä) uuden verkkotunnuksesi URL-osoitteeseen. Esimerkiksi http://www.olddomain.com/filename ohjataan osoitteeseen http://www.newdomain.com/filename. R = 301 kertoo palvelimelle, että uudelleenohjaus on pysyvä.

Tämä ratkaisu on täydellinen, jos olet ottanut koko sivustosi ja siirtänyt sen koskemattomaksi uudelle toimialueelle. Mutta se ei tapahdu kovin usein. Yleisempi skenaario on, että uudella verkkotunnuksella on uusia tiedostoja ja hakemistoja. Et kuitenkaan halua menettää asiakkaita, jotka muistavat vanhoja verkkotunnuksia ja tiedostoja. Joten, sinun on määritettävä mod_rewrite uudelleen ohjata kaikki vanhat tiedostot uuteen verkkotunnukseen:

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

Kuten edellisessä säännössä, R = 301 tekee tämän 301 uudelleenohjauksen. Ja L kertoo palvelimelle, että tämä on viimeinen sääntö.

Kun olet määrittänyt uudelleenkirjoitussäännön htaccess-tiedostossa, uusi verkkosivusto saa kaikki sivun katselut vanhasta URL-osoitteesta.