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