Failo .htaccess yra конфигурационным failu Apache. Jis leidžia nustatyti reakciją serverio į vartotojo užklausas, nustatyti spartinimo ir suspaudimo, taip pat разграничить prieigą prie įvairių sekcijas, svetainės,
Galimybės, kurias suteikia htaccess sąrankos serverio, yra per didelis, kad уместиться į vieną straipsnį, bet mes neketiname nagrinėti visas subtilybes Apache konfigūracijos, o apžvelgsime tik pagrindiniai nustatymai .htaccess sumažinti pasikartojančių puslapių svetainėje.
Pirma, svetainėje yra dviem egzemplioriais pagrindinio veidrodėliai, svetainėje, atidaromas, kaip su www, tiek ir be jo.
Tokią padėtį blogai tuo, kad:
- Путает vartotojo gana teisingai pavadinimai svetainės
- Ухудшает prisiminti pavadinimą, svetainės vartotojas
- Trukdo paieškos роботам tinkamai suvokti puslapis svetainės (paieškos robotai mano puslapis su www ir be www skirtingi, o turinio juose дублируемым)
Atsikratyti дубликата pagrindinio veidrodžio .htaccess reikia прописать:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
Norėdami nustatyti, kaip pagrindinio veidrodžio svetainės pavadinimas be www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]
Norėdami nustatyti, kaip pagrindinio veidrodžio pavadinimai su www
Antra, šioje svetainėje yra dviem egzemplioriais головного failo svetainės (index.html, index.php ir t. t.)
Tokią padėtį blogai tuo, kad:
- Ухудшает rūšis pagrindinio puslapio svetainės (daug gražiau pamatyti svetainės pavadinimą, be jokios index negu сними)
- Trukdo paieškos роботам tinkamai suvokti puslapis svetainės (paieškos robotai mano svetainės adresą su index, ir be jo, kaip skirtingi puslapyje, o turinio juose дублируемым)
Atsikratyti pasikartojančių головного failo svetainės reikia прописать .htaccess:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
Trečia, pasikartojančius GET (parametrų perduodamų url po klaustuką (?)
Tokią padėtį blogai tuo, kad:
- Ухудшает rūšis pagrindinio puslapio svetainės (daug gražiau matyti URL be GET parametrus, negu сними)
- Trukdo paieškos роботам tinkamai suvokti puslapis svetainės (paieškos robotai mano svetainės adresą su GET ir be jo, kaip skirtingi puslapyje, o turinio juose дублируемым)
Atsikratyti pasikartojančių GET reikia прописать .htaccess:
RewriteEngine on
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !admin [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
Bendra taisyklė atsikratyti pasikartojančių:
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} !admin [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
Duomenų konfigūracijų:
- RewriteEngine on — direktyva įjungimo/išjungimo mechanizmas konversijos (rašoma vienas visą htaccess)
- RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC] — nustatyti sąlygas perskaičiavimo tik jame esantį failą, svetainės, nei nuo norimo
- RewriteRule ^(.*)$https://crazysquirrel.ru/$1[R=301,L] — mechanizmas konversijos перенаправляющий vartotojo "teisingą svetainės pavadinimas"
- RewriteCond %{QUERY_STRING} !^$ [NC] — nustato kriterijų perskaičiavimo tik adresus kurie turi GET parametrai
- RewriteCond %{THE_REQUEST} \? [NC] — nustato sąlyga konversijos tik adresus turinčių ?
- RewriteCond %{THE_REQUEST} !admin [NC] — nustato taisykles konversijos adresus, kurie neturi į savo sudėtį дирректории arba failo administracinio juostos svetainėje, jeigu svetainėje nėra CMS arba jos darbai reikalingi GET parametrai, šią eilutę galima rašyti)
- crazysquirrel.lt — svetainės pavadinimas
- admin — katalogas administracinio juostos svetainės
- index.php — pagrindinis failas svetainės
- R=301 — vėliava, устанавливающий http būsenos kodą dėl netinkamo svetainės (301 — vėliava nuolat pakeisti adresą)
- L — vėliava, nurodantis, kad ši taisyklė paskutinis
- NC — vėliava, nurodydama, kad šios taisyklės nėra svarbus raidžių raštu