F'dan l-artikolu, se nesploraw il-prinċipji fundamentali tal-użu tal-fajl .htaccess, li huwa kruċjali għat-titjib tas-SEO. Dan il-fajl jiżgura indiċjar xieraq tal-paġni mill-magni tat-tiftix. Aħna se nitgħallmu kif timmaniġġja r-ridirezzjonijiet, tikkonfigura s-sigurtà, u nsaħħu l-prestazzjoni. Barra minn hekk, aħna ser nipprovdu suġġerimenti dwar kif tikkonfigura dan il-fajl b'mod indipendenti.
Għaliex .htaccess huwa meħtieġ
Il-fajl .htaccess jaġixxi bħala tip ta '"kontroll mill-bogħod" għall-iżviluppaturi tal-web fuq servers Apache. Joffri għodod konvenjenti għall-aġġustament ta 'diversi parametri u l-ġestjoni tal-imġieba ta' websajt. Meta aċċess dirett għall-fajls tal-konfigurazzjoni prinċipali tas-server ma jkunx disponibbli (kif spiss ikun il-każ tal-hosting virtwali, pereżempju), .htaccess isir għodda utli biex isiru l-bidliet meħtieġa.
Htaccess ħafna drabi jinsab fil-folder tal-għeruq tas-sit tiegħek jew f'dawk il-folders fejn tkun meħtieġa konfigurazzjoni speċjali. Pereżempju, jekk tuża WordPress, il-konfigurazzjoni tista 'ssir permezz tal-plugin Yoast SEO, li ddiskutejna fl-artiklu dwaru Konfigurazzjoni ta' robots.txt. F'każijiet oħra, huwa biżżejjed li tmur fil-folder meħtieġ u teditja l-fajl .htaccess eżistenti, jew toħloqha jekk għadha ma ġietx maħluqa.
Konfigurazzjoni tal-Fajl .htaccess
301 Redirect htaccess
Direzzjoni mill-ġdid 301 fil-fajl .htaccess tista' titqabbel ma' direzzjoni mill-ġdid permanenti fuq websajt. Tinforma lill-magni tat-tiftix u lill-browsers li l-paġna issa tinsab b'mod permanenti f'indirizz ġdid u tissuġġerixxi l-aġġornament tal-bookmarks u l-indiċjar. Tali direzzjoni mill-ġdid tipikament tintuża meta paġna titmexxa jew titħassar biex tippreserva l-klassifikazzjoni tagħha fir-riżultati tat-tfittxija u tidderieġi mill-ġdid lill-viżitaturi lejn il-post il-ġdid.
Biex tattiva r-ridirezzjonijiet, trid tattiva l-kmand korrispondenti fil-fajl .htaccess:
RewriteEngine on
Wara dan, tista 'tikkonfigura l-aktar forma sempliċi ta' direzzjoni mill-ġdid:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Redirect simili bl-użu tal- RedirectPermanent direttiva tidher bħal din:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Dawn huma l-aktar metodi ta' direzzjoni mill-ġdid faċli biex jiġi kkonfigurat. Ejja nikkunsidraw konfigurazzjoni li tuża tipi oħra, aktar avvanzati ta 'ridirezzjonijiet bil- mod_rewrite modulu:
<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>
A 302 redirect .htaccess, li jindika rilokazzjoni temporanja, jiltaqgħu ħafna inqas spiss. Hawn eżempju ta' tali setting:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Direttiva ErrorDocument
Dan is-setting jippermettilek tikkontrolla dak li jara l-utent meta jseħħu żbalji HTTP fuq is-sit tiegħek. Minflok il-messaġġ ta 'żball standard, tista' turi l-paġna tiegħek stess, li tkun aktar informattiva għall-viżitatur u tgħinhom jifhmu dak li ġara. Sempliċement segwi din is-sintassi għall-użu:
ErrorDocument <error_code> <URL_page>
Per eżempju,
ErrorDocument 404 /errors/not_found.html
Ifisser li meta a 404 iseħħ żball, il-paġna fuq /errors/not_found.html se jinfetaħ. URLs assoluti huma speċifikati bl-istess mod:
ErrorDocument 500 http://example.com/errors/server_error.html
Dan l-eżempju jindika l-wiri tal- server_error.html paġna fuq http://example.com/errors/ fil-każ ta' a 500 żball.
Tiċħad Aċċess għal Direttorju tas-Sit
Il-fajl .htaccess għandu l-kmand Iċħad minn kulħadd, li tgħin biex tiċħad l-aċċess għal ċerti folders jew fajls fuq is-server tal-web tiegħek. Dan jista 'jkun utli jekk trid taħbi informazzjoni privata jew fajls importanti minn viżitaturi tas-sit biex tiżgura s-sigurtà tad-dejta.
Biex tiddiżattiva l-elenkar (li tara d-direttorji kollha disponibbli), trid iżżid il-linja:
Options -Indexes
Eżempju tal-imblukkar tal-aċċess għal direttorju speċifiku jidher bħal dan:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Bl-istess mod, tista 'tiċħad l-aċċess għal fajl wieħed:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Jew għal firxa ta' fajls b'estensjoni:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Imblukkar tal-Aċċess permezz tal-IP
L-imblukkar tal-aċċess mill-IP fil-fajl .htaccess huwa metodu li jippermettilek tirrestrinġi l-aċċess għall-websajt tiegħek għal indirizzi IP speċifiċi jew il-gruppi tagħhom. Dan jista 'jkun utli jekk trid tipprevjeni l-aċċess għas-sit tiegħek jew il-partijiet speċifiċi tiegħu għal ċerti nies jew bots mhux mixtieqa.
L-imblukkar ta' indirizz IP wieħed isir bil-kmand:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
L-imblukkar ta' diversi indirizzi IP isir bl-istess mod billi tidduplika l-"Tiċħad minn" linja bl-indirizzi meħtieġa.
Għall-imblukkar ta' firxa ta' indirizzi IP:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
Biex tippermetti aċċess biss għal IPs speċifiċi, żid il-kodiċi:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Għal ċaħda sħiħa tal-aċċess, uża d-direttiva Iċħad minn kulħadd, u għall-imblukkar tal-indirizzi bil-maskra, speċifika Iċħad mill-11.22.
Fejn, 11.22 huwa l-indirizz IP maskra.
Imblukkar tal-Viżitaturi mill-Utent-Agent
L-imblukkar tal-utenti mill-Utent-Agent fil-fajl .htaccess huwa metodu ta' kontroll ta' min jista' jaċċessa s-server tal-web tiegħek ibbażat fuq informazzjoni dwar il-browser li juża l-viżitatur. Is-sekwenza tal-Utent-Agent fiha data dwar il-browser li persuna tuża biex jinteraġixxi mas-server tiegħek, u bis-saħħa ta' din l-informazzjoni, tista' tirrestrinġi l-aċċess għal ċerti utenti.
L-aktar mod komuni biex timblokka minn User-Agent huwa li tuża 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>
F'dan l-eżempju:
- RewriteCond %{HTTP_USER_AGENT} huwa użat biex jiċċekkja l-sekwenza tal-Utent-Agent.
- ^Bot1, ^Bot2, ^Bot3 huma eżempji ta' kordi ta' User-Agent li rridu nibblukkaw. Il-modifikaturi NC jindikaw li l-paragun għandu jkun insensittiv għall-każ.
- RewriteRule ^.*$ - [F,L] tapplika għat-talba jekk tiġi sodisfatta xi waħda mill-kundizzjonijiet RewriteCond. Tibgħat tweġiba bil-kodiċi tal-istatus 403 Projbit (F) u twaqqaf ir-regoli tal-ipproċessar (L).
Caching f'htaccess
Il-konfigurazzjoni tal-caching permezz tal-fajl .htaccess tgħin biex tħaffef is-sit tiegħek billi tagħmilha tagħbija aktar malajr għall-utenti. Taħdem hekk: ċerti fajls, bħal immaġini, stili CSS, u skripts JavaScript, huma maħżuna fil-cache tal-browser tal-utent wara l-ewwel tagħbija. Issa l-browser jista 'juża dawn il-fajls mill-cache, minflok ma jerġa' jgħabbihom mis-server kull darba li l-utent iżur paġna. Dan inaqqas il-ħin tat-tagħbija u jtejjeb il-prestazzjoni tas-sit.
Ikkunsidra eżempju:
# 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>
Għal riżorsi li jiġu aġġornati ta’ spiss, min-naħa l-oħra, huwa meħtieġ li tiġi diżattivata l-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>
Ottimizzazzjoni tal-Prestazzjoni tas-Sit
il mod_deflate u, mod_gzip moduli f'Apache jgħinu biex jikkompressaw l-informazzjoni li s-server jibgħat lill-apparati tal-utenti. Dan jagħmel il-fajls iżgħar fid-daqs, li mbagħad iħaffef it-tagħbija tal-paġna. Madankollu, huwa importanti li tiftakar li l-appoġġ u l-konfigurazzjoni ta 'dawn il-moduli jistgħu jvarjaw skont is-server tiegħek.
Eżempju tal-użu tal- mod_deflate modulu:
<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>
Eżempju għal 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>
Iddiskutejna l-aktar direttivi użati b’mod komuni. Tista 'tiffamiljarizza ruħek mal-kapaċitajiet kollha tal-fajl fil- dokumentazzjoni uffiċjali.
Kif Tiċċekkja l-Funzjonalità tal-Fajl .htaccess
Biex tiċċekkja jekk il-fajl .htaccess tiegħek hux qed jaħdem fuq is-sit, tista' twettaq il-passi li ġejjin:
- Ibdel intenzjonalment il-fajl .htaccess bi żball. Bi tweġiba, is-server għandu jagħti żball. Dan il-metodu juri jekk l-operat tal-fajl huwiex ġeneralment applikat fuq is-server.
- Iċċekkja l-funzjonalità tal-bidliet speċifiċi li għamilt. Pereżempju, agħmel aġġustament minuri għal wieħed mill-parametri u evalwa l-preżenza ta 'bidliet.
- Iċċekkja l-kodiċi tal-istatus tal-paġna jekk il-bidliet humiex relatati mar-rispons tas-server. Kif tagħmel dan, aħna ddeskrivejna qabel fl-artikolu Kodiċi ta' Żbalji HTTP: lista kompluta ta' żbalji tas-server.
- Irreferi għar-reġistri tas-server. Huma juru l-iżbalji kollha relatati mat-tħaddim tal-fajl .htaccess.
- Iwettaq l-ittestjar billi tuża servizzi jew għodod online.
Huwa importanti li tifhem li biex tiċċekkja l-funzjonalità tal-fajl .htaccess, m'għandekx bżonn twettaq il-passi kollha f'daqqa. Huwa biżżejjed li tagħżel l-iktar metodu adattat mil-lista u tużah.
konklużjoni
Il-konfigurazzjoni tal-fajl .htaccess hija pass importanti fl-ottimizzazzjoni u l-protezzjoni tas-server Apache tiegħek. Esplorajna kif dan il-fajl jgħin fil-ġestjoni tar-ridirezzjonijiet, jikkompressa l-kontenut, u jiżgura s-sigurtà. Ladarba inti tikkontrolla taħdem ma '.htaccess, ikollok għodda qawwija biex ittejjeb il-prestazzjoni u l-funzjonalità tal-websajts.