301 Пренасочване чрез .HTAccess - Пренасочване на страница в уебсайт | WP Learning Lab

Така че имам домейн http://example.com.

Искам да настроя htaccess да пренасочва всички тези вариации

  • http://www.example.com

  • http://example.com

  • https://example.com/111

  • http://example.com/222

... основно ВСИЧКО в този домейн, към което искам пренасочване

http://www.newexample.com 

Как да го настроите правилно в .htaccess файл?

Всички домейни на един и същ сървър.

Пътят не трябва да се пази.

  • Как се създават старите и новите сайтове? На отделни сървъри ли са? Отделни виртуални хостове? И двете са картографирани в една и съща основна директория на документа? Механиката на пренасочването ще се различава в зависимост от това дали сайтовете споделят корен на документ или не.
  • 1 Всички сайтове на нов сървър. Трябва само посетителите на стария сайт да бъдат пренасочени към нов сайт. Всеки URL адрес, който те въведат на стария сайт, трябва да ги пренасочи към основния URL адрес на новия сайт.
  • Споделят ли сайтовете корен на документ на новия сървър?
  • Когато кажете, че искате да пренасочи към новия сайт, надявате ли се да запазите частта от пътя на URL адреса. Например https://example.com/111 да се https://newexample.com/111?
  • 1 Не, специално не искам да резервирам пътека. Искам всичко да се пренасочи към основния домейн

Това ръководство от Apache трябва да помогне: http://httpd.apache.org/docs/current/rewrite/intro.html

Но за нещо, което можете да копирате и поставите, вижте тази таблица с изводи, но пуснете $1 от правилото за пренаписване.

По-лесно ми е да публикувам кода, отколкото да обясня:

RewriteEngine on Rewrit­eCond %{HTTP­_HOST} ^www.example.com$ [NC] Rewrit­eRule ^(.*)$ http:/­/ww­w.newexample.com/ [R=301,L] 

Ако това не работи, тогава вашата хостинг компания ограничава настройките, които можете да зададете .htaccess и ще трябва да се обадите на поддръжката, за да го оправите.

  • Въпреки че това няма да пренасочи ВСИЧКО, както е посочено във въпроса. Няма да пренасочи example.com (не-www) например.
  • Да, защото RewriteCond търси (стария) домейн с префикс от www поддомейн не би повлиял на други поддомейни или на голия домейн ... обикновено правилата за конфигуриране диктуват дали да се използва или не www са в част от тях, така че не се задълбочавах в това. Опитвам се да избягвам използването .htaccess файлове поради причини за производителност, но когато го направя, използвам HTML5 Boilerplate като отправна точка, той включва конфигурационни блокове за използване www или не, потребителят може просто да коментира кое от неприложимите.

Ако и двата ви домейна са на един и същ сървър, при всяка заявка вашият сървър трябва да работи два пъти, един за обработка с htaccess, друг за обслужване на сайт от правилен адрес / домейн.

Ами ако можете да направите това директно от доставчика на домейн.

Пренасочване към нов домейн с помощта на DNS настройки

Повечето от доставчиците на domian ви позволяват да пренасочвате URL адрес за запазване на домейн и със заглавка 301 или каквото пожелаете.

Препоръчвам ви да се консултирате с вашия доставчик на домейн, да отидете на настройката на olddomain.com, вместо да настроите Запис на домиана, изберете опция за пренасочване. Въведете newdomain.com и препратете всички заявки силни и път също.

Това ще спести тонове заявка от удари на вашия сървър и вашият DNS може да кешира нов път автоматично.

Проверете дали можете да приложите това решение, би било наистина добре.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?