Пренасочване на страници с .htaccess
В процеса на развитие на сайта може да решите да промените URL адреса на една или повече страници - преместване в нови директории или дори на друг сайт. Можете лесно да осъвремените хипервръзките към тези страници на собствения си сайт, но нямате много контрол върху хипервръзките, които са сложени на други сайтове, които се намират в индексите на интернет търсачки или които са запазени от отделни потребители.
Ако искате потребители, които следват старите хипервръзки, да попаднат на търсените страници, а не на страница за грешка, трябва да осигурите автоматично пренасочване към новите адреси.
Има различни начини за автоматично пренасочване на страници - един от тях е вече разгледаното в статията HTML head използване на meta дума http-equiv="refresh":
<meta http-equiv="Refresh" content="0;url=http://www.нов_адрес_на_страницата" />
Неудобството на този метод е необходимостта командата да се пише поотделно за всяка страница. За сравнение .htaccess дава възможност за пренасочване както на отделни страници, така и на цели директории или направо на целия сайт. Командата за пренасочване на страница изглежда така:
Redirect 301 /стара_директория/стар_файл.html http://вашия_сайт.com/нова_директория/нов_файл.html
301 е кода на HTTP съобщението Moved permanently (страницата е на нов адрес). Старият адрес е относителен спрямо основната директория на сайта, а новият адрес е абсолютен - включва и самото име на сайта. Това впрочем позволява да пренасочвате страници към съвсем различен сайт.
Един конкретен пример:
Redirect 301 /rose.html http://www.example.com/flowers/red_rose.html
Страницата rose.html, намирала се в основната директория на сайта, вече е на нов адрес - поддиректория flowers на сайт www.example.com и при това има ново име - red_rose.html.
По същия начин може да се пренасочи и съдържанието на цяла директория: Redirect 301 /стара_директория/ http://вашия_сайт.com/нова_директория/ или дори целия сайт: Redirect 301 / http://вашия_нов_сайт.com/
Как да се добави автоматично www към URL адреса на страниците(http://example.com/index.html да стане http://www.example.com/index.html), или обратно - URL адресите на страниците да бъдат освободени от www (http://www.example.com/index.html да стане http://example.com/index.html) е описано в следващата статия - Пренаписване на URL адреси
Ако решите, че "как се прави сайт" ръководството може да бъде полезно и за други хора, моля гласувайте за сайта: