Naudokite mod_rewrite nukreipti visą svetainę

Htaccess, mod_rewrite ir Apache

Tinklalapiai perkelti. Tai yra interneto kūrimo faktas. O jei esate protingas, naudokite 301 peradresavimus, kad išvengtumėte nuorodų puvimo. Bet ką daryti, jei perkeliate visą svetainę? Galėtumėte pereiti ir rankiniu būdu parašyti peradresavimą į kiekvieną svetainės failą. Bet tai gali užtrukti ilgai. Laimei, galite naudoti " htaccess" ir "mod_rewrite", kad peradresuotumėte visą svetainę naudodami tik kelias kodo eilutes.

Kaip naudoti mod_rewrite nukreipti svetainę

  1. Senojo žiniatinklio serverio šaknyje redaguokite arba sukurkite naują .htaccess failą naudodami teksto redaktorių.
  2. Pridėti eilutę: RewriteEngine ON
  3. Pridėti: RewriteRule ^ (. *) $ Http://newdomain.com/$1 [R = 301, L]

Ši eilutė užims kiekvieną prašomą senojo domeno failą ir pridės jį (su tuo pačiu pavadinimu) į savo naujojo domeno URL. Pavyzdžiui, http://www.olddomain.com/filename bus nukreiptas į http://www.newdomain.com/filename. R = 301 serveriui praneša, kad nukreipimas yra nuolatinis.

Toks sprendimas yra tobulas, jei visą svetainę perėmėte ir perkėlėte ją sveiki, į naują domeną. Bet tai neįvyksta labai dažnai. Dažniau scenarijus yra tas, kad jūsų naujame domene yra nauji failai ir katalogai. Bet nenorite prarasti klientų, kurie prisimena senąjį domeną ir failus. Taigi, turėtumėte nustatyti mod_rewrite, kad peradresuotumėte visus senus failus į naują domeną:

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

Kaip ir ankstesnė taisyklė, R = 301 leidžia 301 nukreipti. O L sako serveriui, kad tai yra paskutinė taisyklė.

Kai nustatysite savo perrašymo taisyklę failo htaccess, jūsų nauja svetainė gaus visus puslapio peržiūrimus iš senojo URL.