Фајл .хтаццесс је конфигурационным фајл Апацхе. Он вам омогућава да поставите одговор сервера на захтеве корисника, подесите кеш и компресије, као и ограничити приступ различитим деловима сајта,
Могућности које пружа хтаццесс за конфигурацију сервера је превелики да стане у један чланак, али ми не идемо да се види све детаље конфигурације Апацхе, а погледајте само основна подешавања .хтаццесс за смањење дупликата страница на сајту.
Прво, на сајту има дупле главног огледала, сајт отвара као са ввв и без њега.
Такво стање ствари лоше, тако да је:
- Збуњује корисника у вези исправности имена сајта
- Утиче на памћење име сајта од стране корисника
- Спречава термина за роботи адекватно сагледа страница сајта (спајдери сматрају странице са ввв и без ввв другачији, а садржај на њих дублируемым)
За ослобађање од дупле главног огледала .хтаццесс је потребно прописати:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
За подешавања као примарног огледала име сајта без ввв
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]
За подешавања као примарног огледала имена са www
Друго, на сајту има дупле мозга датотеке сајта (index.html, index.php и сл.)
Такво стање ствари лоше, тако да је:
- Нарушава изглед главне странице сајта (много лепше видети име сајта без икаквих index него скините)
- Спречава термина за роботи адекватно сагледа страница сајта (спајдери сматрају да је сите адреса уз индекс и без њега као различите стране, а садржај на њих дублируемым)
За ослобађање од дупликата мозга датотеке сајта потребно је прописати .хтаццесс:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
Треће, дупликате GET (параметара преносе у урл након знака ?)
Такво стање ствари лоше, тако да је:
- Нарушава изглед главне странице сајта (много лепше да виде УРЛ без GET параметара него скините)
- Спречава термина за роботи адекватно сагледа страница сајта (спајдери сматрају да је сите адреса са GET и без њега као различите стране, а садржај на њих дублируемым)
За ослобађање од дупликата GET потребно је прописати .хтаццесс:
RewriteEngine on
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !админ [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
Опште правило за ослобађање од дупликата:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !админ [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
У података конфигурације:
- RewriteEngine on — директива укључивање/искључивање је механизам трансформације (пише једна на цео хтаццесс)
- RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC] — дефинисање услова за примену конверзије само на имена сајта, другачије од жељеног
- RewriteRule ^(.*)$https://crazysquirrel.ru/$1[R=301,L] — механизам конверзије перенаправляющий корисника на "право име сајта"
- RewriteCond %{QUERY_STRING} !^$ [NC] — дефинише услов за примену конверзије само на адресе које имају GET опције
- RewriteCond %{THE_REQUEST} \? [NC] — дефинише услов за конверзију само за е има ?
- RewriteCond %{THE_REQUEST} !админ [NC] — дефинише правила за конверзију адресе није имао у свом саставу дирректории или датотеке административног панела сајта (ако сајт не постоји или ЦМС за свој рад не захтева GET опције, овај ред не можете писати)
- crazysquirrel.sr — име сајта
- админ — директоријум административног панела сајта
- index.пхп — главни фајл сајта
- R=301 — застава, којом се код стања http злоупотребе сајта (301 — застава сталну промену адресе)
- Л — застава указује да је ово правило последње
- НЦ — застава указује да је за овог правила није важно писања слова