Yn yr erthygl hon, byddwn yn archwilio egwyddorion sylfaenol defnyddio'r ffeil .htaccess, sy'n hanfodol ar gyfer gwella SEO. Mae'r ffeil hon yn sicrhau mynegeio cywir o dudalennau gan beiriannau chwilio. Byddwn yn dysgu sut i reoli ailgyfeiriadau, ffurfweddu diogelwch, a hybu perfformiad. Yn ogystal, byddwn yn darparu awgrymiadau ar sut i ffurfweddu'r ffeil hon yn annibynnol.
Pam fod angen .htaccess
Mae'r ffeil .htaccess yn gweithredu fel math o "reoli o bell" ar gyfer datblygwyr gwe ar weinyddion Apache. Mae'n cynnig offer cyfleus ar gyfer addasu paramedrau amrywiol a rheoli ymddygiad gwefan. Pan nad yw mynediad uniongyrchol i brif ffeiliau cyfluniad y gweinydd ar gael (fel sy'n aml yn wir gyda hosting rhithwir, er enghraifft), mae .htaccess yn dod yn offeryn defnyddiol ar gyfer gwneud newidiadau angenrheidiol.
Mae Htaccess yn aml wedi'i leoli yn ffolder gwraidd eich gwefan neu yn y ffolderi hynny lle mae angen cyfluniad arbennig. Er enghraifft, os ydych chi'n defnyddio WordPress, gellir gwneud cyfluniad trwy'r ategyn Yoast SEO, a drafodwyd gennym yn yr erthygl Ffurfweddu robots.txt. Mewn achosion eraill, mae'n ddigon i fynd i'r ffolder gofynnol a golygu'r ffeil .htaccess sy'n bodoli eisoes, neu ei chreu os nad yw wedi'i chreu eto.
Ffurfweddu'r Ffeil .htaccess
301 Ailgyfeirio htaccess
Gellir cymharu ailgyfeiriad 301 yn y ffeil .htaccess i ailgyfeiriad parhaol ar wefan. Mae'n hysbysu peiriannau chwilio a phorwyr bod y dudalen bellach wedi'i lleoli'n barhaol mewn cyfeiriad newydd ac yn awgrymu diweddaru nodau tudalen a mynegeio. Defnyddir ailgyfeirio o'r fath fel arfer pan fydd tudalen yn cael ei symud neu ei dileu i gadw ei safle mewn canlyniadau chwilio ac ailgyfeirio ymwelwyr i'r lleoliad newydd.
I actifadu ailgyfeiriadau, mae angen i chi alluogi'r gorchymyn cyfatebol yn y ffeil .htaccess:
RewriteEngine on
Ar ôl hynny, gallwch chi ffurfweddu'r ffurf ailgyfeirio symlaf:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Ailgyfeirio tebyg gan ddefnyddio'r Ailgyfeirio Parhaol cyfarwyddeb yn edrych fel hyn:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Dyma'r dulliau ailgyfeirio hawsaf i'w ffurfweddu. Gadewch i ni ystyried cyfluniad sy'n defnyddio mathau eraill, mwy datblygedig o ailgyfeiriadau gyda'r mod_rewrite modiwl:
<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>
Mae mynediad ailgyfeirio 302 .ht, sy'n dynodi adleoli dros dro, yn digwydd yn llawer llai aml. Dyma enghraifft o osodiad o'r fath:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Dogfen Gwall y Gyfarwyddeb
Mae'r gosodiad hwn yn caniatáu ichi reoli'r hyn y mae'r defnyddiwr yn ei weld pan fydd gwallau HTTP yn digwydd ar eich gwefan. Yn lle'r neges gwall safonol, gallwch ddangos eich tudalen eich hun, a fydd yn fwy addysgiadol i'r ymwelydd ac yn eu helpu i ddeall beth ddigwyddodd. Yn syml, dilynwch y gystrawen hon i'w defnyddio:
ErrorDocument <error_code> <URL_page>
Er enghraifft,
ErrorDocument 404 /errors/not_found.html
Yn golygu pan a 404 gwall yn digwydd, y dudalen yn /errors/not_found.html bydd yn cael ei agor. Pennir URLau absoliwt yn yr un modd:
ErrorDocument 500 http://example.com/errors/server_error.html
Mae'r enghraifft hon yn dangos arddangosiad y gweinydd_error.html tudalen yn http://example.com/errors/ os bydd a 500 gwall.
Gwadu Mynediad i Gyfeirlyfr Safle
Mae gan y ffeil .htaccess y gorchymyn Gwadu gan bawb, sy'n helpu i wrthod mynediad i ffolderi neu ffeiliau penodol ar eich gweinydd gwe. Gall hyn fod yn ddefnyddiol os ydych chi am guddio gwybodaeth breifat neu ffeiliau pwysig gan ymwelwyr safle i sicrhau diogelwch data.
I analluogi rhestru (gan weld yr holl gyfeiriaduron sydd ar gael), mae angen i chi ychwanegu'r llinell:
Options -Indexes
Mae enghraifft o rwystro mynediad i gyfeiriadur penodol yn edrych fel hyn:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Yn yr un modd, gallwch chi wrthod mynediad i un ffeil:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Neu ar gyfer ystod o ffeiliau fesul estyniad:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Rhwystro Mynediad gan IP
Mae rhwystro mynediad gan IP yn y ffeil .htaccess yn ddull sy'n eich galluogi i gyfyngu mynediad i'ch gwefan ar gyfer cyfeiriadau IP penodol neu eu grwpiau. Gall hyn fod yn ddefnyddiol os ydych chi am atal mynediad i'ch gwefan neu ei rhannau penodol i rai pobl neu bots diangen.
Mae blocio un cyfeiriad IP yn cael ei wneud gyda'r gorchymyn:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Mae blocio sawl cyfeiriad IP yn cael ei wneud yn yr un modd trwy ddyblygu'r "Gwadu rhag" yn unol â'r cyfeiriadau gofynnol.
Ar gyfer blocio ystod o gyfeiriadau IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Er mwyn caniatáu mynediad ar gyfer IPs penodol yn unig, ychwanegwch y cod:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
I gael gwared ar fynediad yn llwyr, defnyddiwch y gyfarwyddeb Gwadu gan bawb, ac ar gyfer blocio cyfeiriadau trwy fwgwd, nodwch Gwadu o 11.22.
Lle, 11.22 yw'r cyfeiriad IP mwgwd.
Rhwystro Ymwelwyr gan Asiant Defnyddiwr
Mae rhwystro defnyddwyr gan Asiant Defnyddiwr yn y ffeil .htaccess yn ddull o reoli pwy all gael mynediad i'ch gweinydd gwe yn seiliedig ar wybodaeth am y porwr y mae'r ymwelydd yn ei ddefnyddio. Mae'r llinyn Defnyddiwr-Asiant yn cynnwys data am y porwr y mae person yn ei ddefnyddio i ryngweithio â'ch gweinydd, a diolch i'r wybodaeth hon, gallwch gyfyngu mynediad i rai defnyddwyr.
Y ffordd fwyaf cyffredin o rwystro gan Asiant Defnyddiwr yw defnyddio 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>
Yn yr enghraifft hon:
- Defnyddir RewriteCond %{HTTP_USER_AGENT} i wirio'r llinyn Defnyddiwr-Asiant.
- Mae ^Bot1, ^Bot2, ^Bot3 yn enghreifftiau o linynnau Defnyddiwr-Asiant rydym am eu blocio. Mae addaswyr y CC yn nodi y dylai'r gymhariaeth fod yn ansensitif i achosion.
- RewriteRule ^.*$ - [F,L] yn berthnasol i'r cais os bodlonir unrhyw un o'r amodau RewriteCond. Mae'n anfon ymateb gyda'r cod statws Gwaharddedig 403 (F) ac yn stopio prosesu rheolau (L).
Caching yn htaccess
Mae ffurfweddu caching trwy'r ffeil .htaccess yn helpu i gyflymu'ch gwefan trwy ei gwneud yn llwytho'n gyflymach i ddefnyddwyr. Mae'n gweithio fel hyn: mae rhai ffeiliau, megis delweddau, arddulliau CSS, a sgriptiau JavaScript, yn cael eu storio yn storfa porwr y defnyddiwr ar ôl y llwyth cyntaf. Nawr gall y porwr ddefnyddio'r ffeiliau hyn o'r storfa, yn lle eu hail-lwytho o'r gweinydd bob tro mae'r defnyddiwr yn ymweld â thudalen. Mae hyn yn lleihau amser llwytho ac yn gwella perfformiad y safle.
Ystyriwch enghraifft:
# 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>
Ar gyfer adnoddau sy'n cael eu diweddaru'n aml, ar y llaw arall, mae angen analluogi caching:
# 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>
Optimeiddio Perfformiad Safle
The mod_deflate ac mod_gzip mae modiwlau yn Apache yn helpu i gywasgu gwybodaeth y mae'r gweinydd yn ei hanfon at ddyfeisiau defnyddwyr. Mae hyn yn gwneud y ffeiliau'n llai o ran maint, sydd yn ei dro yn cyflymu llwytho tudalennau. Fodd bynnag, mae'n bwysig cofio y gall cefnogaeth a ffurfweddiad y modiwlau hyn amrywio yn dibynnu ar eich gweinydd.
Enghraifft o ddefnyddio'r mod_deflate modiwl:
<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>
Enghraifft ar gyfer 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>
Buom yn trafod y cyfarwyddebau a ddefnyddir amlaf. Gallwch chi ymgyfarwyddo â holl alluoedd y ffeil yn y dogfennaeth swyddogol.
Sut i Wirio Ymarferoldeb y Ffeil .htaccess
I wirio a yw eich ffeil .htaccess yn gweithio ar y wefan, gallwch chi gymryd y camau canlynol:
- Newidiwch y ffeil .htaccess yn fwriadol gyda gwall. Mewn ymateb, dylai'r gweinydd roi gwall. Mae'r dull hwn yn dangos a yw gweithrediad y ffeil yn cael ei gymhwyso'n gyffredinol ar y gweinydd.
- Gwiriwch ymarferoldeb newidiadau penodol rydych wedi'u gwneud. Er enghraifft, gwneud mân addasiad i un o'r paramedrau ac asesu presenoldeb newidiadau.
- Gwiriwch god statws y dudalen os yw'r newidiadau'n gysylltiedig ag ymateb y gweinydd. Sut i wneud hyn, fe wnaethom ddisgrifio'n flaenorol yn yr erthygl Codau Gwall HTTP: rhestr gyflawn o wallau gweinydd.
- Cyfeiriwch at logiau'r gweinydd. Maent yn arddangos yr holl wallau sy'n ymwneud â gweithrediad y ffeil .htaccess.
- Cynnal profion gan ddefnyddio gwasanaethau neu offer ar-lein.
Mae'n bwysig deall nad oes angen i chi gyflawni'r holl gamau ar unwaith i wirio ymarferoldeb y ffeil .htaccess. Mae'n ddigon i ddewis y dull mwyaf addas o'r rhestr a'i ddefnyddio.
Casgliad
Mae ffurfweddu'r ffeil .htaccess yn gam pwysig wrth optimeiddio a diogelu eich gweinydd Apache. Rydym wedi archwilio sut mae'r ffeil hon yn helpu i reoli ailgyfeiriadau, cywasgu cynnwys, a sicrhau diogelwch. Unwaith y byddwch chi'n meistroli gweithio gyda .htaccess, byddwch chi'n ennill offeryn pwerus ar gyfer gwella perfformiad ac ymarferoldeb gwefannau.