Jakintza Profitserver zerbitzuarekin lan egiteko argibide errazak
Main Jakintza .htaccess fitxategia konfiguratzen

.htaccess fitxategia konfiguratzen


Artikulu honetan, SEO hobetzeko funtsezkoa den .htaccess fitxategia erabiltzeko oinarrizko printzipioak aztertuko ditugu. Fitxategi honek bilatzaileen orrien indexazio egokia bermatzen du. Birzuzenketak kudeatzen, segurtasuna konfiguratzen eta errendimendua hobetzen ikasiko dugu. Gainera, fitxategi hau modu independentean konfiguratzeko aholkuak emango ditugu.

Zergatik behar da .htaccess

.htaccess fitxategiak Apache zerbitzarietako web garatzaileentzako "urruneko kontrol" moduko bat da. Hainbat parametro doitzeko eta webgune baten portaera kudeatzeko tresna erosoak eskaintzen ditu. Zerbitzariaren konfigurazio-fitxategi nagusietarako sarbide zuzena erabilgarri ez dagoenean (hosting birtualean gertatu ohi den bezala, adibidez), .htaccess tresna erabilgarria bihurtzen da beharrezko aldaketak egiteko.

Htaccess askotan zure gunearen erro karpetan edo konfigurazio berezia behar den karpetetan egoten da. Adibidez, WordPress erabiltzen baduzu, konfigurazioa Yoast SEO pluginaren bidez egin daiteke, robots.txt konfigurazioari buruzko artikuluan aztertu genuena . Beste kasu batzuetan, nahikoa da behar den karpetara joan eta dagoen .htaccess fitxategia editatzea, edo sortzea oraindik sortu ez bada.

.htaccess Fitxategia konfiguratzen

301 Berbideratu htaccess

.htaccess fitxategian 301 birbideraketa webgune bateko birbideratze iraunkor batekin pareka daiteke. Bilatzaileei eta arakatzaileei orria helbide berri batean betirako kokatuta dagoela jakinarazten die eta laster-markak eta indexatzea iradokitzen du. Birbideratze hori orri bat mugitzen edo ezabatzen denean erabiltzen da bilaketa-emaitzetan bere sailkapena gordetzeko eta bisitariak kokapen berrira birbideratzeko.

Birzuzenketak aktibatzeko, dagokion komandoa gaitu behar duzu .htaccess fitxategian:

RewriteEngine on

Horren ondoren, birbideratzeko modurik errazena konfigura dezakezu:

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

RedirectPermanent direktiba erabiliz birbideratze antzeko bat honelakoa da:

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

Hauek dira konfiguratzeko birbideratze metodorik errazenak. Demagun mod_rewrite moduluarekin birbideratze mota aurreratuagoak erabiltzen dituen konfigurazio bat:

<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 birbideratzeko .htaccess, aldi baterako lekualdatzea adierazten duena, askoz gutxiagotan aurkitzen da. Hona hemen ezarpen horren adibide bat:

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

Zuzentarauaren ErrorDocument

Ezarpen honi esker, erabiltzaileak zer ikusten duen kontrola dezakezu zure webgunean HTTP erroreak gertatzen direnean. Errore-mezu estandarraren ordez, zure orria erakutsi dezakezu, bisitariari informazio gehiago emango diona eta gertatutakoa ulertzen lagunduko dio. Besterik gabe, jarraitu sintaxi hau erabiltzeko:

ErrorDocument <error_code> <URL_page>

Esate baterako,

ErrorDocument 404 /errors/not_found.html

Horrek esan nahi du 404 errore bat gertatzen denean, /errors/not_found.html helbideko orrialdea irekiko dela. URL absolutuak modu berean zehazten dira:

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

Adibide honek 500 errore baten kasuan http://example.com/errors/ helbidean server_error.html orria nola bistaratu adierazten du.

Gune direktorio baterako sarbidea ukatzea

.htaccess fitxategiak "Deny from all" komandoa dauka , eta horrek zure web zerbitzariko karpeta edo fitxategi batzuetarako sarbidea ukatzen laguntzen du. Hau erabilgarria izan daiteke guneko bisitariengandik informazio pribatua edo fitxategi garrantzitsuak ezkutatu nahi badituzu datuen segurtasuna bermatzeko.

Zerrenda desgaitzeko (eskuragarri dauden direktorio guztiak ikusteko), lerroa gehitu behar duzu:

Options -Indexes

Direktorio zehatz baterako sarbidea blokeatzeko adibide bat honelakoa da:

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

Era berean, fitxategi bakarrerako sarbidea uka dezakezu:

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

Edo luzapenaren arabera fitxategi sorta baterako:

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

Sarbidea IP bidez blokeatzea

.htaccess fitxategian IP bidezko sarbidea blokeatzea zure webgunerako sarbidea mugatzeko aukera ematen duen metodo bat da IP helbide zehatzetarako edo haien taldeetarako. Hau erabilgarria izan daiteke zure webgunera edo bere zati zehatz batzuei edo nahi ez diren botei sarbidea eragotzi nahi badiezu.

IP helbide bakarra blokeatzea komandoarekin egiten da:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Hainbat IP helbide blokeatzea era berean egiten da " Deny from " lerroa beharrezko helbideekin bikoiztuz .

IP helbide sorta bat blokeatzeko:

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

IP espezifikoei soilik sarbidea baimentzeko, gehitu kodea:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Sarbidea erabat ukatzeko, erabili Deny from all direktiba , eta helbideak maskararen bidez blokeatzeko, zehaztu Deny from 11.22.

Non, 11.22 IP helbidearen maskara den.

Erabiltzaile-agentearen bidez bisitariak blokeatzea

Erabiltzaileak Erabiltzaile-Agenteak .htaccess fitxategian blokeatzea zure web zerbitzaria nork sar dezakeen kontrolatzeko metodo bat da, bisitariak erabiltzen duen arakatzaileari buruzko informazioan oinarrituta. Erabiltzaile-Agente kateak pertsona batek zure zerbitzariarekin elkarreragiteko erabiltzen duen arakatzaileari buruzko datuak ditu, eta informazio horri esker, erabiltzaile jakin batzuen sarbidea mugatu dezakezu.

Erabiltzaile-Agenteak blokeatzeko modurik ohikoena mod_rewrite erabiltzea da :

<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>

Adibide honetan:

  1. RewriteCond %{HTTP_USER_AGENT} Erabiltzaile-Agente katea egiaztatzeko erabiltzen da.
  2. ^Bot1, ^Bot2, ^Bot3 blokeatu nahi ditugun Erabiltzaile-Agente kateen adibideak dira. NC modifikatzaileek konparaketak maiuskulak eta minuskulak bereizten ez dituela adierazten dute.
  3. RewriteRule ^.*$ - [F,L] eskaerari aplikatzen zaio RewriteCond baldintzaren bat betetzen bada. 403 Debekatutako egoera kodearekin (F) erantzuna bidaltzen du eta prozesatzeko arauak (L) gelditzen ditu.

Cachea htaccess-en

Cachea .htaccess fitxategiaren bidez konfiguratzeak zure webgunea bizkortzen laguntzen du erabiltzaileentzat azkarrago kargatuz. Honela funtzionatzen du: fitxategi batzuk, hala nola, irudiak, CSS estiloak eta JavaScript scriptak, erabiltzailearen arakatzailearen cachean gordetzen dira lehen kargatu ondoren. Orain arakatzaileak fitxategi hauek erabil ditzake cachetik, erabiltzaileak orri bat bisitatzen duen bakoitzean zerbitzaritik birkargatu beharrean. Horrek kargatzeko denbora murrizten du eta gunearen errendimendua hobetzen du.

Demagun adibide bat:

# 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>

Maiz eguneratzen diren baliabideetarako, berriz, beharrezkoa da cachea desgaitzea:

# 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>

Gunearen errendimendua optimizatzea

Apache-ko mod_deflate eta mod_gzip moduluek zerbitzariak erabiltzaileen gailuetara bidaltzen duen informazioa konprimitzen laguntzen dute. Horrek fitxategiak txikiagoak egiten ditu, eta horrek, aldi berean, orrialdeak kargatzea bizkortzen du. Hala ere, garrantzitsua da gogoratzea modulu hauen euskarria eta konfigurazioa alda daitezkeela zure zerbitzariaren arabera.

mod_deflate modulua erabiltzeko adibidea :

<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>

Adibidea mod_gzip- erako :

<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>

Gehien erabiltzen diren direktibak aztertu ditugu. Fitxategiaren gaitasun guztiak dokumentazio ofizialean ezagutu ditzakezu.

Nola egiaztatu .htaccess fitxategiaren funtzionaltasuna

Zure .htaccess fitxategia webgunean funtzionatzen ari den egiaztatzeko, urrats hauek egin ditzakezu:

  1. Nahita aldatu .htaccess fitxategia errore batekin. Erantzun gisa, zerbitzariak errore bat eman beharko luke. Metodo honek fitxategiaren eragiketa orokorrean zerbitzarian aplikatzen den erakusten du.
  2. Egiaztatu egin dituzun aldaketa zehatzen funtzionaltasuna. Adibidez, egin doikuntza txiki bat parametroetako batean eta ebaluatu aldaketak dauden.
  3. Egiaztatu orriaren egoera kodea aldaketak zerbitzariaren erantzunarekin zerikusia badute. Nola egin, aldez aurretik artikuluan deskribatu genuen HTTP Error Codes: zerbitzariaren akatsen zerrenda osoa.
  4. Ikusi zerbitzariaren erregistroak. .htaccess fitxategiaren funtzionamenduarekin lotutako errore guztiak bistaratzen dituzte.
  5. Egin probak lineako zerbitzu edo tresnak erabiliz.

Garrantzitsua da ulertzea .htaccess fitxategiaren funtzionaltasuna egiaztatzeko, ez dituzula urrats guztiak aldi berean egin behar. Nahikoa da zerrendatik metodo egokiena aukeratzea eta erabiltzea.

Ondorioa

.htaccess fitxategia konfiguratzea urrats garrantzitsua da zure Apache zerbitzaria optimizatzeko eta babesteko. Fitxategi honek birzuzenketak kudeatzen, edukia konprimitzen eta segurtasuna bermatzen laguntzen duen aztertu dugu. .htaccess-ekin lanean menperatzen duzunean, webguneen errendimendua eta funtzionaltasuna hobetzeko tresna indartsua lortzen duzu.

❮ Aurreko artikulua Nola konfiguratu web zerbitzari bat (Apache-PHP-MySQL/MariaDB) Linux-en
Hurrengo artikulua ❯ FTP zerbitzariaren konfigurazioa

Galde iezaguzu VPS-i buruz

Zure galderei erantzuteko prest gaude eguneko edo gaueko edozein ordutan.