Knowledgebase Mirayiridzo yakapusa yekushanda neProfitserver sevhisi
kuru Knowledgebase Kugadzirisa .htaccess file

Kugadzirisa .htaccess file


Muchikamu chino, tichaongorora nheyo dzinokosha dzekushandisa .htaccess file, iyo yakakosha pakusimudzira SEO. Iri faira rinoita kuti indekisise yemapeji nemajini ekutsvaga. Isu tichadzidza maitiro ekugadzirisa redirects, kugadzirisa kuchengetedza, uye kuwedzera mashandiro. Pamusoro pezvo, isu tichapa matipi ekuti ungagadzira sei faira iri wakazvimirira.

Sei .htaccess Inodiwa

Iyo .htaccess file inoshanda semhando ye "remote control" yevagadziri vewebhu paApache maseva. Inopa maturusi ari nyore ekugadzirisa akasiyana ma paramita uye kubata maitiro ewebhusaiti. Kana kuwanika kwakananga kumafaira makuru ekugadziriswa kwevhavha hazviwaniki (sezvinowanzoitika kune virtual hosting, somuenzaniso), .htaccess inova chinhu chinobatsira pakuita shanduko dzinodiwa.

Htaccess inowanzo kuwanikwa mumudziyo folda yesaiti yako kana mune iwo maforodha uko kwakakosha kugadziridzwa kunodiwa. Semuenzaniso, kana iwe ukashandisa WordPress, gadziriso inogona kuitwa kuburikidza neiyo Yoast SEO plugin, yatakakurukura muchinyorwa pamusoro. Kugadzirisa marobhoti.txt. Mune zvimwe zviitiko, zvakakwana kuenda kune faira inodiwa uye kugadzirisa .htaccess faira iripo, kana kuigadzira kana isati yasikwa.

Kugadzirisa .htaccess File

301 Redirect htaccess

A 301 redirect in the .htaccess file inogona kufananidzwa nekusingaperi redirection pane webhusaiti. Inozivisa injini dzekutsvaga uye mabhurawuza kuti peji rave kuwanikwa zvachose pane imwe kero uye inopa zano rekuvandudza mabhukimaki uye indexing. Kuendesazve kwakadai kunowanzo shandiswa kana peji rafambiswa kana kudzimwa kuchengetedza chinzvimbo charo mumibairo yekutsvaga uye kuendesa vashanyi kunzvimbo itsva.

Kuti ushandise redirects, unoda kugonesa murairo unoenderana mu .htaccess file:

RewriteEngine on

Mushure meizvozvo, iwe unogona kumisikidza iyo yakapusa fomu redirection:

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

Iyo yakafanana redirect uchishandisa iyo RedirectPermanent directive inoita seizvi:

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

Idzi ndidzo dzakareruka redirect nzira kugadzirisa. Ngatifungei kurongeka kunoshandisa mamwe, mamwe marudzi epamusoro ekudzokororwa neiyo mod_rewrite module:

<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, ichiratidza kutamiswa kwenguva pfupi, inosangana zvakanyanya zvishoma. Heino muenzaniso wegadziriro yakadaro:

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

Directive ErrorDocument

Izvi zvinokutendera kuti udzore zvinoonekwa nemushandisi kana zvikanganiso zveHTTP zvikaitika pasaiti yako. Panzvimbo peyakajairwa meseji yekukanganisa, unogona kuratidza yako peji, inova inodzidzisa muenzi uye nekuvabatsira kunzwisisa zvakaitika. Ingotevedzera iyi syntax yekushandisa:

ErrorDocument <error_code> <URL_page>

Semuyenzaniso,

ErrorDocument 404 /errors/not_found.html

Zvinoreva kuti kana a 404 kukanganisa kunoitika, peji pa /errors/not_found.html richavhurwa. Absolute URLs anotsanangurwa zvakafanana:

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

Uyu muenzaniso unoratidza kuratidzwa kwe server_error.html peji pa http://example.com/errors/ muchiitiko che 500 kukanganisa.

Kuramba Kuwana Saiti Dhairekitori

Iyo .htaccess file ine murairo Ramba kubva kune zvese, iyo inobatsira kuramba kuwana mamwe maforodha kana mafaera pawebhu server yako. Izvi zvinogona kubatsira kana iwe uchida kuvanza ruzivo rwepachivande kana mafaera akakosha kubva kune vashanyi vesaiti kuti uve nechokwadi chekuchengetedza data.

Kudzima rondedzero (kuona ese aripo madhairekitori), unofanirwa kuwedzera mutsara:

Options -Indexes

Muenzaniso wekuvhara kupinda kune rimwe dhairekitori rinotaridzika seizvi:

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

Saizvozvo, iwe unogona kuramba kuwana kune imwe faira:

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

Kana kune siyana mafaera nekuwedzera:

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

Kuvhara Kupinda neIP

Kuvhara kupinda ne IP mu .htaccess faira inzira inokubvumira kuti udzivise kupinda kune webhusaiti yako kune chaiyo IP kero kana mapoka avo. Izvi zvinogona kubatsira kana iwe uchida kudzivirira kupinda kune yako saiti kana zvikamu zvayo zvevamwe vanhu kana zvisingadiwe bots.

Kuvhara kero imwe yeIP kunoitwa nemurairo:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

Kuvharira akati wandei IP kero kunoitwa zvakafanana nekudzokorora "Ramba kubva" line nemakero anodiwa.

Zvekuvharira siyana IP kero:

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

Kuti ubvumire kupinda chete kune chaiwo maIP, wedzera iyo kodhi:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Kuti urambe zvachose kuwana, shandisa rairo Ramba kubva kune zvese, uye yekuvhara kero nemasiki, tsanangura Ramba kubva 11.22.

Kupi, 11.22 ndiyo IP kero masiki.

Kuvharisa Vashanyi neMushandisi-Agent

Kuvhara vashandisi neMushandisi-Agent mu .htaccess file inzira yekudzora ndiani anogona kuwana web server yako zvichienderana nemashoko pamusoro pe browser iyo mushanyi anoshandisa. Iyo Mushandisi-Mumiriri tambo ine data nezve browser iyo munhu anoshandisa kudyidzana neserver yako, uye nekuda kweruzivo urwu, unogona kurambidza kupinda kwevamwe vashandisi.

Nzira yakajairika yekuvharisa neMushandisi-Agent ndeye kushandisa 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>

Mumuenzaniso uyu:

  1. RewriteCond %{HTTP_USER_AGENT} inoshandiswa kutarisa tambo yeMushandisi-Mumiririri.
  2. ^Bot1, ^Bot2, ^Bot3 mienzaniso yetambo dzeMushandisi-Agent yatinoda kuvharisa. Iyo NC modhifita inoratidza kuti kuenzanisa kunofanirwa kuve kusinganzwisisike.
  3. RewriteRule ^.*$ - [F,L] inoshanda kuchikumbiro kana chero mamiriro eRewriteCond aitwa. Inotumira mhinduro ne403 Yakarambidzwa mamiriro kodhi (F) uye inomira kugadzirisa mitemo (L).

Caching muhtaccess

Kugadzirisa caching kuburikidza ne .htaccess file inobatsira kukurumidza nzvimbo yako nekuita kuti itakure nokukurumidza kune vashandisi. Inoshanda seizvi: mamwe mafaera, akadai semifananidzo, CSS masitayipi, uye JavaScript zvinyorwa, zvinochengetwa mubrowser cache yemushandisi mushure mekutakura kwekutanga. Iye zvino bhurawuza rinogona kushandisa mafaera aya kubva kucache, pachinzvimbo chekuaisazve kubva kuseva pese pese mushandisi paanoshanyira peji. Izvi zvinoderedza kurodha nguva uye inovandudza saiti kuita.

Chimbofunga muenzaniso:

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

Kune zviwanikwa zvinogara zvichigadziridzwa, kune rumwe rutivi, zvinodikanwa kudzima 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>

Kugadzirisa Saiti Performance

The mod_deflate uye mod_gzip ma modules muApache anobatsira kudzvinyirira ruzivo rwunotumirwa nevhavha kumidziyo yevashandisi. Izvi zvinoita kuti mafaera ave madiki muhukuru, izvo zvinozoita kuti kukurumidza kurodha peji. Nekudaro, zvakakosha kuyeuka kuti rutsigiro uye kumisikidzwa kwemamodule aya zvinogona kusiyana zvichienderana neserver yako.

Muenzaniso wekushandisa mod_deflate module:

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

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

Takakurukura mirairo inonyanya kushandiswa. Iwe unogona kuzvijaira iwe nehunyanzvi hwese hwefaira mu official documentation.

Maitiro ekutarisa Kushanda kwe.htaccess File

Kuti uone kana yako .htaccess file iri kushanda panzvimbo ino, unogona kuita zvinotevera:

  1. Shandura .htaccess faira nemaune nekukanganisa. Mukupindura, sevha inofanira kupa kukanganisa. Iyi nzira inoratidza kana kushanda kwefaira kuchiwanzo shandiswa pane sevha.
  2. Tarisa kushanda kwekuchinja kwawakaita. Semuenzaniso, ita kugadziridza kudiki kune imwe yeparamita uye ongorora kuvepo kwekuchinja.
  3. Tarisa chimiro chekodhi peji kana shanduko dzine chekuita nemhinduro yeseva. Nzira yekuita izvi, isu takambotsanangura munyaya yacho HTTP Error Codes: runyoro rwakakwana rwezvikanganiso zveseva.
  4. Tarisa kune server logs. Vanoratidza zvikanganiso zvose zvine chokuita nekushanda kwe.htaccess file.
  5. Ita bvunzo uchishandisa online masevhisi kana maturusi.

Zvakakosha kunzwisisa kuti kutarisa kushanda kwe.htaccess file, haufaniri kuita matanho ose kamwechete. Zvakakwana kusarudza nzira yakanyatsokodzera kubva pakurongwa uye kuishandisa.

mhedziso

Kugadzirisa iyo .htaccess faira inhanho yakakosha pakugadzirisa nekuchengetedza yako Apache server. Isu takaongorora kuti faira iri rinobatsira sei kubata redirect, compress yemukati, uye chengetedza chengetedzo. Kana uchinge wagona kushanda ne .htaccess, unowana chigadziro chine simba chekuvandudza kushanda uye kushanda kwewebsite.

❮ Nyaya yapfuura FTP server setup
Nyaya inotevera ❯ Maitiro ekugadzirisa sevha yewebhu (Apache-PHP-MySQL/MariaDB) paLinux

Tibvunze nezveVPS

Isu tinogara takagadzirira kupindura mibvunzo yako chero nguva yemasikati kana husiku.