Выкарыстоўваць mod_rewrite, каб перанакіроўваць ўвесь сайт

Htaccess, mod_rewrite і Apache

Вэб-старонкі рухацца. Гэта факт распрацоўкі вэб-прыкладанняў. І калі вы разумныя, вы карыстаецеся 301 рэдырэкт , каб прадухіліць гніенне спасылкі. Але што, калі вы рухаецеся ўвесь сайт? Вы можаце прайсці і ўручную напісаць рэдырэкт для кожнага файла на сайце. Але гэта можа заняць шмат часу. На шчасце, можна выкарыстоўваць Htaccess і 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.