Fișierul .htaccess este învățarea configurării fișier Apache. Acesta vă permite să setați o reacție server pe cereri de utilizator, pentru a regla cache și de compresie, precum și pentru a delimita accesul la diferite secțiuni ale site-ului,
Caracteristici, care oferă htaccess pentru serverul de configurare sunt prea mari pentru a încăpea într-un singur articol, dar nu vom lua în considerare toate subtilitățile de configurare Apache, și ia în considerare doar configurările de bază .htaccess pentru a reduce duplicarea paginilor de pe site.
În primul rând, site-ul are un duplicat principal oglinzi, site-ul se deschide cu www și fără el.
Această stare de lucruri rău de faptul că:
- Confundă utilizatorului privind corectitudinea numele site-ului
- Afectează memorarea numele site-ului de către utilizator
- Împiedică roboților în mod adecvat de a percepe pagină a site-ului (pentru motoarele de căutare cred pagini cu www și fără www diferite, iar conținutul de pe ele дублируемым)
Pentru a scăpa de duplicatului principal oglinzi .htaccess trebuie să prescrie:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
Pentru a seta ca bază oglinzi numele site-ului, fără www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]
Pentru a seta ca bază de oglinzi) cu www
În al doilea rând, site-ul are un duplicat ale fișierului site-ului (index.html, index.php și așa mai departe)
Această stare de lucruri rău de faptul că:
- Afectează tip de pagina de bază a site-ului (mult mai frumos pentru a vedea numele site-ului, fără nici index decît scoate)
- Împiedică roboților în mod adecvat de a percepe pagină a site-ului (pentru motoarele de căutare cred adresa site-ului cu index și fără el, ca diferite pagini, iar conținutul de pe ele дублируемым)
Pentru a scăpa de duplicate ale fișierului site-ul trebuie să prescrie .htaccess:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
În al treilea rând, duplicate GET (parametrii transmiși în url-ul după semnul ?)
Această stare de lucruri rău de faptul că:
- Afectează tip de pagina de bază a site-ului (mult mai frumos pentru a vedea URL-ul fără GET parametri decît scoate)
- Împiedică roboților în mod adecvat de a percepe pagină a site-ului (pentru motoarele de căutare cred adresa site-ului cu GET și fără el, ca diferite pagini, iar conținutul de pe ele дублируемым)
Pentru a scăpa de duplicate GET trebuie să prescrie .htaccess:
RewriteEngine on
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !admin [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
În general, pentru a scăpa de duplicate:
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]
Date de configurații:
- RewriteEngine on — directiva a activa/dezactiva mecanismul de conversie (se scrie una pe întregul htaccess)
- RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC] — pentru a defini condițiile pentru aplicarea de conversie numai la numele site-ului, diferit de dorit
- RewriteRule ^(.*)$https://crazysquirrel.ru/$1[R=301,L] — mecanism de conversie перенаправляющий de utilizator de la "corect numele site-ului"
- RewriteCond %{QUERY_STRING} !^$ [NC] — specifică o condiție pentru aplicarea de conversie numai la adresele care au parametrii GET
- RewriteCond %{THE_REQUEST} \? [NC] — specifică o condiție de conversie numai pentru adrese are ?
- RewriteCond %{THE_REQUEST} !admin [NC] — definește regulile de conversie pentru adresele care nu are în componența sa дирректории sau un fișier panoul administrativ al site-ului (dacă site-ul nu CMS sau pentru munca ei nu sunt necesare GET setări, această linie nu se poate scrie)
- crazysquirrel.ro — numele site-ului
- admin — director administrativ bara de site-ul
- index.php — fișierul principal al site-ului
- R=301 — de pavilion, care stabilește un cod de stare http pentru necorespunzătoare a site-ului (301 — pavilion permanentă schimbare de adresa)
- L — pavilion, care indică faptul că această regulă ultima
- NC — pavilion, care indică faptul că această regulă nu este important registrul de scris