Датотеката .htaccess е конфигурациската датотека на Apache. Тоа ви овозможува да ги постави на серверот за одговор на барањата на корисниците, конфигурирате кеширање и компресија, како и да се разликува пристап до различни области на сајтот
Можностите понудени од страна на htaccess да конфигурацијата на серверот за е премногу голем за да ги собере во една статија, но ние не се случува да се разгледаат сите детали на Apache конфигурација, и ние сметаме само основните поставки .htaccess да се намали дупликат страници на веб-сајтот.
Најнапред, на веб-страницата содржи дупликат на главното огледало, веб-страницата се отвора со www и без тоа.
Оваа ситуација е лошо за оние кои:
- Збунува корисникот за правилно името на страницата
- Impairs помнење име на сајт корисник
- Ја спречува пребарување роботи за да се согледа соодветно страница (пребарувачите разгледа страници со www и без www се различни, и содржината на нив се огледува)
За да се ослободиме од дупликат на главното огледало .htaccess неопходно е да се препише:
RewriteEngine на
RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://crazysquirrel.ru/$1 [R=301,L]
За да ги конфигурирате прилагодувањата, како основен огледало веб-сајт име без www
RewriteEngine на
RewriteCond %{HTTP_HOST} !^www\.crazysquirrel\.ru$ [NC]
RewriteRule ^(.*)$ https://www.crazysquirrel.ru/$1 [R=301,L]
За да ги конфигурирате прилагодувањата, како основен огледало на името со www
Второ, веб-страницата содржи дупликат на главата датотека од сајтот (index.html, index.php итн.)
Оваа ситуација е лошо за оние кои:
- Деградира на главната страница на веб-страницата (многу поубаво да го видите името на сајтот без индекс наместо да исклучите)
- Ја спречува пребарување роботи за да се согледа соодветно страница (пребарувачите разгледа адреса на сајт со индекс и без тоа, како различни страници и дупликат содржина на нив)
За да се ослободиме од дупликат на главата датотека од сајтот мора да се регистрирате .htaccess:
RewriteEngine на
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://crazysquirrel.ru/$1 [R=301,L]
Трето, СЕ дупликати (параметри помина во url-то по знак ?)
Оваа ситуација е лошо за оние кои:
- Деградира на главната страница на веб-страницата (многу поубаво да се види URL без ДОБИЕ параметри наместо да исклучите)
- Ја спречува пребарување роботи за да се согледа соодветно страница (пребарувачите разгледа адреса на сајт со ДОБИЕТЕ и без тоа, како различни страници и дупликат содржина на нив)
За да се ослободиме од дупликати СЕ треба да се напише .htaccess:
RewriteEngine на
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteCond %{THE_REQUEST} \? [NC]
RewriteCond %{THE_REQUEST} !админ [NC]
RewriteRule ^(.*)?(.*)$ https://crazysquirrel.ru/$1? [R=301,L]
На Општо правило за да се ослободиме од дупликати:
RewriteEngine на
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 на Директивата е за вклучување/исклучување на конверзија механизам (писмена еден за целиот htaccess)
- RewriteCond %{HTTP_HOST} !^crazysquirrel\.ru$ [NC] — определување на услови за примена на трансформира само да го името на веб-сајт кој е различен од саканиот
- RewriteRule ^(.*)$https://crazysquirrel.ru/$1[R=301,L] — конвертирање механизам пренасочување на корисникот за да го "поправи име на сајтот"
- RewriteCond %{QUERY_STRING} !^$ [NC] — ги дефинира условите за трансформација се применува само да адреси кои се ДОБИЕ параметри
- RewriteCond %{THE_REQUEST} \? [NC] — го дефинира состојба на конверзија само за адреси имаат ?
- RewriteCond %{THE_REQUEST} !админ [NC] — го дефинира трансформација правила за адреси не се има во својот состав директориум или датотека, административниот панел на сајтот (ако веб-страницата нема СМС или со своето работење не се потребни ДОБИЕ параметри, оваа линија може да не напишам)
- crazysquirrel.EN — името на сајтот
- админ — директориумот admin panel на веб-страница
- индекс.php главната датотека од сајтот
- R=301 знаме што го поставува http status code за погрешен сајт (301 — знаме постојани промени')
- L — знаме укажува дека во последните
- NC — знаме, покажувајќи дека оваа правило не е важно да се регистрирате пишување