Ֆայլը .htaccess է конфигурационным ֆայլը Apache. Այն թույլ է տալիս ուղղել արձագանք սերվերի հարցումներին օգտվողին ստեղծել caching եւ սեղմում, ինչպես նաև տարանջատել մուտք տարբեր բաժինների կայքի,
Հնարավորությունները, որոնք տրամադրում է htaccess համար սերվերի կոնֆիգուրացիայի չափազանց մեծ է, որպեսզի տեղավորել մեկ հոդվածում, բայց մենք չենք պատրաստվում դիտարկել բոլոր նրբությունները կազմաձեւման Apache, իսկ դիտարկենք միայն հիմնական պարամետրեր .htaccess նվազեցնել կրկնօրինակների էջերի կայքում:
Նախ, կայքում առկա կրկնօրինակը գլխավոր հայելիներ, կայքը բացվում է որպես www, այնպես էլ առանց դրա:
Գործերի նման վիճակը վատ է որ:
- Շփոթում է օգտագործողի վերաբերյալ ճշտության կայքի անվանումից
- Վատացնում запоминание կայքի անվանումը օգտագործողի
- Խանգարում է որոնողական ռոբոտների համար համարժեք ընկալել էջ: կայքի (որոնողական ռոբոտներ են համարում էջերը www և առանց www տարբեր են, իսկ բովանդակությունը նրանց дублируемым)
Ազատվելու համար կրկնօրինակի գլխավոր հայելիներ,.htaccess անհրաժեշտ է ամենախայտառակ:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
Կսմթել որպես հիմնական հայելիներ կայքի անունը առանց www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]
Կսմթել որպես հիմնական հայելիներ անվանման հետ www
Երկրորդ, կայքում կան կրկնօրինակը գլխամասային ֆայլի կայքի (index.html, index.php և այլն)
Գործերի նման վիճակը վատ է որ:
- Վատացնում տեսարան հիմնական էջերը կայքի (շատ ավելի հաճելի է տեսնել անունը կայքից առանց index քան փողի)
- Խանգարում է որոնողական ռոբոտների համար համարժեք ընկալել էջ: կայքի (որոնողական ռոբոտներ են համարում կայքի հասցե հետ index-եւ առանց նրա, թե ինչպես են տարբեր էջերը, իսկ բովանդակությունը նրանց дублируемым)
Ազատվելու համար կրկնօրինակների գլխամասային ֆայլի կայքի անհրաժեշտ է ամենախայտառակ .htaccess:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
Երրորդ, կրկնօրինակներ ՍՏԱՆԱԼ (պարամետրերի փոխանցվող url նշանից հետո ?)
Գործերի նման վիճակը վատ է որ:
- Վատացնում տեսարան հիմնական էջերը կայքի (շատ ավելի հաճելի է տեսնել URL առանց GET պարամետրերի քան փողի)
- Խանգարում է որոնողական ռոբոտների համար համարժեք ընկալել էջ: կայքի (որոնողական ռոբոտներ են համարում կայքի հասցե հետ ՍՏԱՆԱԼ առանց նրա, ինչպես տարբեր էջերը, իսկ բովանդակությունը նրանց дублируемым)
Ազատվելու համար կրկնօրինակներ ՍՏԱՆԱԼ անհրաժեշտ ամենախայտառակ .htaccess:
RewriteEngine on
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !admin [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} !admin [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
Տվյալ configurations:
- RewriteEngine on — հրահանգը/անջատելու մեխանիզմի վերափոխումը (գրվում է մի ամբողջ htaccess)
- 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} !admin [NC] — սահմանում է կանոններ դարձի համար հասցեները չունեցող իր կազմում дирректории կամ ֆայլը վարչական վահանակի կայքում (եթե կայքում չկա CMS կամ աշխատելու համար պահանջվում GET պարամետրերը, այդ տեղը կարելի է գրել)
- crazysquirrel.hy — կայքի անվանումը
- admin — директория վարչական վահանակի կայքը
- index.php — ի գլխավոր ֆայլը կայքը
- R=301 — դրոշը սահմանող կոդ վիճակի http համար սխալ կայքի (301 — դրոշը մշտական փոփոխության հասցեներ)
- L ' դրոշը, նշելով, որ տվյալ կանոն վերջին
- NC — դրոշը, նշելով, որ այդ կանոնները ոչ թե կարևոր է գրանցվել գրելու