Оценка на читателите: / 10
Слаба статияОтлична статия 

Пренаписване на URL адреси с .htaccess

Проблемът link duplication: една страница - няколко адреса

Често се случва една и съща страница да бъде достъпна на няколко URL адреса. С други думи хипервръзки с различен адрес да водят до една и съща страница (на английски се нарича link duplication). Най-честият пример за подобно дублиране на страници е използването на www поддомейн заедно с основния домейн. Например страниците на адреси

http://parvisait.com/index.php и
http://www.parvisait.com/index.php
са напълно идентични - въвеждането на който и да е от горните два URL адреса в адресното поле на браузъра ще изведе една и съща страница.

За интернет търсачките обаче страници на различни URL адреси са различни. Това има своите нежелани последствия - вместо посещенията на дадена страница да се отчитат накуп, те се разпределят помежду различните URL адреси. Понеже стойността на една страница се определя до голяма степен от посещаемостта й, една много популярна страница може да изглежда на търсачките като две или повече доста по-посредствено представящи се страници.

Едно от възможните разрешения на проблема link duplication е пренаписване на URL aдреси с файла .htaccess. В следния пример всяка заявка за страница от сайта parvisait.com ще бъде пренаписвана като заявка за съответната страница от www.parvisait.com:

#Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^parvisait\.com
RewriteRule ^(.*)$ http://www.parvisait.com/$1 [R=permanent,L]

Това всъщност е работещ пример - опитайте да въведете в адресното поле на браузъра http://parvisait.com/ - адресът автоматично ще бъде пренаписан като http://www.parvisait.com/. Това е валидно за която и да е страница от сайта.

Първият ред, Options +FollowSymLinks се използва в случай, че конфигурацията на сървъра го изисква. Ако получите Server error 500 съобщение за грешка, изтрийте знака #, който е символ за коментар и прави невалидна командата, пред която е поставен.

RewriteEngine on командата прави възможно пренаписването на URL адреси - по подразбиране rewrite engine е със стойност off, т.е. изключен.

RewriteCond задава условието, при което да се извърши пренаписването на адреса. В примера условието е името на хоста (домейн името на сайта) да бъде baranokuni.com. Това име се съдържа в променливата HTTP-HOST, а знакът "%" е означение за променлива и винаги стои пред името на такава. "^" е символ за начало на симовлен низ. Знак "\" позволява използването на знака, който следва след него, без да се извиква специалното му значение. Понеже точката (.) има специално значение, пред нея е използван знак "\".

 

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

+добави в любими.ком Елате в .: BGtop.net :. Топ класацията на българските сайтове и гласувайте за този сайт!!!

Ако желаете да оставите коментар към статията, трябва да се регистрирате.