Толық сайтты қайта бағыттау үшін mod_rewrite пайдаланыңыз

Htaccess, mod_rewrite және Apache

Веб-беттер жылжытады. Бұл Веб дамытудың фактісі. Ақылды болсаңыз, сілтеме шірімінің алдын алу үшін 301 бағыттауды қолданасыз. Бірақ бүкіл веб-сайтты жылжытсаңыз не болады? Сайттағы барлық файлдарға өтіп, қолмен жазуға болады. Бірақ бұл ұзақ уақытты талап етеді. Бақытымызға орай, HTCcess және mod_rewrite-ті бүкіл веб-сайтқа кодтың бірнеше жолымен бағыттау үшін пайдалануға болады.

Сайтты қайта бағыттау үшін mod_rewrite әдісін қалай пайдалануға болады

  1. Ескі веб-серверіңіздің түбірінде мәтін өңдегішін пайдаланып, жаңа .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 мекенжайындағы барлық бет көріністерін алады.