Ние правим Пренасочването 301 по различни начини, softodom - блог за програмиране, софтуер, интернет, и да го

В този пост ще говорим за всички тези методи. Описват методи ще пренасочват 301 в същата последователност като това ги изведе по-горе.

Пренасочване 301 в .htaccess

Пренасочване от директивата Redirect или RedirectPermanent модул mod_alias

В този случай не се изисква код на състоянието, тя вече е здраво изкован за директива RedirectPermanent.

Пренасочване използване директива RedirectMatch

Пренасочване използване на mod_rewrite модул директива RewriteRule

Домейн спедиция с WWW върху не-WWW

Той е универсален метод, който е винаги активна и кодът не е необходимо да се коригира за определен сайт, това е много удобно. Директива + FollowSymLinks принуждават позволява на сървъра за да служи на файловете, които физически се намират извън директорията на wwwroot, но че има преки пътища / връзки (символична връзка). На следващо място, включете RewriteEngine. Описва условията за следващото правило, в този случай, да вземе HTTP_HOST от заявката и да видим дали той има първи префикс. ако е така, се прилагат следните правила, описани в директивата за RewriteRule. а именно, всички искания perenapravyayutsya същия домейн, но без префикс. R флаг казва ispolzvat Пренасочване 301 и L се оплаква от факта, че това е последното правило, за да бъде изпълнена. Формирането на новия адрес за пренасочване на директива RewriteRule смяна променлива% на 1 влиза в името на домейна без WWW от RewriteCond линия. т.е. всичко, което е оградено в скоби, където се добавят името на хоста от вътрешната страна на променлива сървъра Apache%. което от своя страна е взета от желанието на клиента, както и низ GET променливи параметри $ 1 заявка в директивите на RewriteRule са взети от една и съща линия, но първият аргумент, където описва редовни параметрите на изразяване на заявки по-точно в последната променлива получава всички затворени в скоби на регулярни изрази първият аргумент.

Както и има алтернатива, по-интуитивен, но не универсално домейн пренасочване синтаксис WWW домейн без WWW.

Между другото, аз съм такъв глупав синтаксис, който се използва за дълго време на своите интернет страници, когато не знаеш какво директива RewriteRule използване на% 1 може динамично да получи името на хоста без WWW от предишната директива RewriteCond. Поради това, трябва да редактирате файла .htaccess за всеки домейн, това е много тъжна история, където много сайтове по-лесно да използват опцията, която дадох на първо място в този пример, всичко е универсален.

Пренасочване на искания вот на WWW домейн с този префикс

Да предположим сега, обратната ситуация, е необходимо да се perenpravlyat домейн с този префикс. Изхождайки от примера по-горе и описанията не е трудно да се отгатне как да го направя.

или алтернативно, универсален вариант:

Ако името на хоста не започва с WWW след това пренасочи към исканата домакин и да добавите този префикс с точката Start.

Пренасочване на използване от страна на сървъра скрипт (изпращане на HTTP хедъри)

Пренасочването може да се извърши и с помощта от страна на сървъра скриптове, клиентът изпраща необходимите пренасочване заглавията:

Всъщност, всички ние трябва да се направи в код skrpitov, тя изпраща данни един HTTP заглавката на клиента.

Изпращане HTTP глава пренасочване в PHP

За да изпратите глава в езика за програмиране PHP в базовата библиотека има специална функция на една и съща заглавната име. Като единствен параметър низ отнема заглавен ред, който в последствие се даде на клиента. Всеки дял е необходимо да посочите отделна функция разговор, защото той им topravlyaet само един в даден момент. Важно е да се обадите на тази функция, преди нощта да изпрати данни към клиента като HTTP заглавията винаги се изпращат в началото, преди тялото на страницата.

Това е всичко, първото пренасочване 301 изпълнява в PHP!

Изпращане HTTP глава пренасочване в ASP

Почти всички едни и същи.

Изпращане HTTP глава пренасочване на ASP.NET

Тук, синтаксис е много подобен на конвенционален ASP.