Knowledgebase Einfaldar leiðbeiningar til að vinna með Profitserver þjónustunni
Main Knowledgebase Stillir .htaccess skrá

Stillir .htaccess skrá


Í þessari grein munum við kanna grundvallarreglur þess að nota .htaccess skrána, sem er mikilvægt til að efla SEO. Þessi skrá tryggir rétta flokkun síðna af leitarvélum. Við munum læra hvernig á að stjórna tilvísunum, stilla öryggi og auka árangur. Að auki munum við veita ráð um hvernig á að stilla þessa skrá sjálfstætt.

Hvers vegna .htaccess er þörf

.htaccess skráin virkar sem eins konar „fjarstýring“ fyrir vefhönnuði á Apache netþjónum. Það býður upp á þægileg verkfæri til að stilla ýmsar breytur og stjórna hegðun vefsíðu. Þegar bein aðgangur að helstu stillingarskrám þjónsins er ekki tiltækur (eins og oft er raunin með sýndarhýsingu, til dæmis), verður .htaccess gagnlegt tæki til að gera nauðsynlegar breytingar.

Htaccess er oft staðsett í rótarmöppunni á síðunni þinni eða í þeim möppum þar sem þörf er á sérstökum stillingum. Til dæmis, ef þú notar WordPress, er hægt að gera stillingar í gegnum Yoast SEO viðbótina, sem við ræddum í greininni um Stillir robots.txt. Í öðrum tilvikum er nóg að fara í nauðsynlega möppu og breyta núverandi .htaccess skrá, eða búa hana til ef hún hefur ekki verið búin til.

Stillir .htaccess skrána

301 Beina htaccess

301 tilvísun í .htaccess skránni má líkja við varanlega tilvísun á vefsíðu. Það upplýsir leitarvélar og vafra um að síðan sé nú varanlega staðsett á nýju heimilisfangi og stingur upp á að uppfæra bókamerki og skráningu. Slík tilvísun er venjulega notuð þegar síða er færð eða eytt til að varðveita röðun hennar í leitarniðurstöðum og beina gestum á nýja staðinn.

Til að virkja tilvísanir þarftu að virkja samsvarandi skipun í .htaccess skránni:

RewriteEngine on

Eftir það geturðu stillt einfaldasta form tilvísunar:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

Svipuð tilvísun með því að nota Redirect Permanent tilskipun lítur svona út:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

Þetta eru auðveldustu tilvísunaraðferðirnar til að stilla. Við skulum íhuga stillingar sem notar aðrar, fullkomnari gerðir af tilvísunum með mod_rewrite mát:

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

302 tilvísun .htaccess, sem gefur til kynna tímabundna flutning, er mun sjaldnar. Hér er dæmi um slíka stillingu:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

Tilskipunarvilluskjal

Þessi stilling gerir þér kleift að stjórna því hvað notandinn sér þegar HTTP villur eiga sér stað á síðunni þinni. Í stað staðlaðra villuboðanna geturðu sýnt þína eigin síðu, sem mun vera upplýsandi fyrir gesti og hjálpa þeim að skilja hvað gerðist. Fylgdu einfaldlega þessari setningafræði til notkunar:

ErrorDocument <error_code> <URL_page>

Til dæmis,

ErrorDocument 404 /errors/not_found.html

Þýðir að þegar a 404 villa kemur upp, síðan kl /errors/not_found.html verður opnað. Alger vefslóð eru tilgreind á svipaðan hátt:

ErrorDocument 500 http://example.com/errors/server_error.html

Þetta dæmi sýnir skjáinn á server_error.html síðu á http://example.com/errors/ ef a 500 villa.

Neita aðgangi að vefskrá

.htaccess skráin hefur skipunina Neita frá öllum, sem hjálpar til við að meina aðgang að ákveðnum möppum eða skrám á vefþjóninum þínum. Þetta getur verið gagnlegt ef þú vilt fela einkaupplýsingar eða mikilvægar skrár fyrir gestum síðunnar til að tryggja gagnaöryggi.

Til að slökkva á skráningu (skoða allar tiltækar möppur) þarftu að bæta við línunni:

Options -Indexes

Dæmi um að loka fyrir aðgang að tiltekinni möppu lítur svona út:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

Á sama hátt geturðu hafnað aðgangi að einni skrá:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

Eða fyrir fjölda skráa eftir framlengingu:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

Lokar á aðgang með IP

Að loka fyrir aðgang með IP í .htaccess skránni er aðferð sem gerir þér kleift að takmarka aðgang að vefsíðunni þinni fyrir tilteknar IP tölur eða hópa þeirra. Þetta getur verið gagnlegt ef þú vilt koma í veg fyrir aðgang að síðunni þinni eða tilteknum hlutum hennar fyrir tiltekið fólk eða óæskilega vélmenni.

Lokun á einni IP tölu er gert með skipuninni:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Að loka nokkrum IP tölum er gert á svipaðan hátt með því að afrita "Neita frá" línu með nauðsynlegum heimilisföngum.

Til að loka á fjölda IP vistfanga:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

Til að leyfa aðeins aðgang fyrir tilteknar IP-tölur skaltu bæta kóðanum við:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Notaðu tilskipunina til að fá algjöra neitun á aðgangi Neita frá öllum, og til að loka heimilisföngum með grímu, tilgreinið Neita frá 11.22.

Hvar, 11.22 er IP-talan gríma.

Lokar fyrir gesti með umboðsmanni

Að loka fyrir notendur af User-Agent í .htaccess skránni er aðferð til að stjórna því hverjir fá aðgang að vefþjóninum þínum út frá upplýsingum um vafra sem gesturinn notar. User-Agent strengurinn inniheldur gögn um vafrann sem einstaklingur notar til að hafa samskipti við netþjóninn þinn og þökk sé þessum upplýsingum geturðu takmarkað aðgang fyrir ákveðna notendur.

Algengasta leiðin til að loka með User-Agent er að nota mod_rewrite:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

Í þessu dæmi:

  1. RewriteCond %{HTTP_USER_AGENT} er notað til að athuga User-Agent strenginn.
  2. ^Bot1, ^Bot2, ^Bot3 eru dæmi um User-Agent strengi sem við viljum loka. NC-breyturnar gefa til kynna að samanburðurinn ætti að vera ónæmir fyrir hástöfum.
  3. RewriteRule ^.*$ - [F,L] á við um beiðnina ef eitthvað af RewriteCond skilyrðunum er uppfyllt. Það sendir svar með 403 Forbidden stöðukóðanum (F) og hættir að vinna úr reglum (L).

Skyndiminni í htaccess

Að stilla skyndiminni í gegnum .htaccess skrána hjálpar til við að flýta fyrir síðuna þína með því að hlaða hana hraðar fyrir notendur. Það virkar svona: ákveðnar skrár, eins og myndir, CSS stíll og JavaScript forskriftir, eru geymdar í skyndiminni vafrans eftir fyrstu hleðslu. Nú getur vafrinn notað þessar skrár úr skyndiminni, í stað þess að endurhlaða þær af þjóninum í hvert sinn sem notandinn heimsækir síðu. Þetta dregur úr hleðslutíma og bætir afköst vefsvæðisins.

Lítum á dæmi:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

Fyrir tilföng sem eru oft uppfærð, aftur á móti, er nauðsynlegt að slökkva á skyndiminni:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

Fínstilla árangur vefsvæðis

The mod_deflate og mod_gzip einingar í Apache hjálpa til við að þjappa upplýsingum sem þjónninn sendir í tæki notenda. Þetta gerir skrárnar minni að stærð, sem aftur flýtir fyrir hleðslu síðu. Hins vegar er mikilvægt að muna að stuðningur og uppsetning þessara eininga getur verið mismunandi eftir netþjóninum þínum.

Dæmi um notkun á mod_deflate mát:

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

Dæmi fyrir mod_gzip:

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

Við ræddum algengustu tilskipanir. Þú getur kynnt þér alla möguleika skrárinnar í opinber skjöl.

Hvernig á að athuga virkni .htaccess skráarinnar

Til að athuga hvort .htaccess skráin þín sé að virka á síðunni geturðu framkvæmt eftirfarandi skref:

  1. Breyttu .htaccess skránni viljandi með villu. Sem svar ætti þjónninn að gefa upp villu. Þessi aðferð sýnir hvort aðgerð skráarinnar er almennt beitt á þjóninum.
  2. Athugaðu virkni tiltekinna breytinga sem þú hefur gert. Til dæmis, gerðu smávægilegar breytingar á einni af breytunum og metið hvort breytingar séu til staðar.
  3. Athugaðu stöðukóða síðunnar ef breytingarnar tengjast svari þjónsins. Hvernig á að gera þetta, lýstum við áður í greininni HTTP villukóðar: heill listi yfir villur á netþjóni.
  4. Vísaðu til netþjónaskránna. Þær birta allar villur sem tengjast rekstri .htaccess skráarinnar.
  5. Framkvæma próf með netþjónustu eða verkfærum.

Það er mikilvægt að skilja að til að athuga virkni .htaccess skráarinnar þarftu ekki að framkvæma öll skrefin í einu. Það er nóg að velja heppilegustu aðferðina af listanum og nota hana.

Niðurstaða

Að stilla .htaccess skrána er mikilvægt skref í að fínstilla og vernda Apache netþjóninn þinn. Við höfum kannað hvernig þessi skrá hjálpar til við að stjórna tilvísunum, þjappa efni og tryggja öryggi. Þegar þú hefur náð góðum tökum á því að vinna með .htaccess færðu öflugt tól til að bæta afköst og virkni vefsíðna.

❮ Fyrri grein Uppsetning FTP miðlara
Næsta grein ❯ Hvernig á að stilla vefþjón (Apache-PHP-MySQL/MariaDB) á Linux

Spyrðu okkur um VPS

Við erum alltaf tilbúin að svara spurningum þínum hvenær sem er sólarhrings.