Htaccess файл - як стварыць файл .htaccess інструкцыя для пачаткоўцаў

Надрукаваць · Время на чтение: 13мін · па · Апублікавана · Абноўлены

прайграцьПраслухаць артыкул

Як стварыць файл .htaccess.

Htaccess файл - як стварыць файл .htaccess пачаткоўцу? Файл .htaccess, як правіла, мае толькі пашырэнне пад Unix - сістэмы. І прыносіць карысць сайтам пад кіраваннем сервера Apache.

Htaccess мае набор правіл для вызначанага сайта на серверы. Файл кіруе шматлікімі параметрамі канфігурацыі вэб-сервера Apache. Apache - шырока выкарыстоўванае сервернае праграмнае забеспячэнне для кросплатформавых аперацыйных сістэм.

Хоць сінтаксіс, які ён выкарыстоўвае, можа спачатку крыху збіваць з панталыку, гэты .htaccess файл можа рабіць шмат карысных рэчаў. Некаторыя з яго функцый уключаюць перанакіраванне, абарону паролем, абмежаванне доступу на аснове пэўных умоў і многае іншае. У гэтым пасце мы разгледзім, як стварыць і наладзіць .htaccess файл і рэалізаваць некалькі найболей распаўсюджаных варыянтаў яго выкарыстання.

Інструкцыя для стварэння файла .htaccess

Настройкі файла .htaccess.

Htaccess шырока вядомы як "кропкавы файл", паколькі ён пачынаецца з кропкі. Кропкавыя файлы амаль заўсёды ўяўляюць сабой файл канфігурацыі. Такія файлы могуць быць для аперацыйнай сістэмы ці часткі праграмнага забеспячэння. Па змаўчанні аперацыйная сістэма хавае кропкавыя файлы ў вокнах пошуку ці ў любым сістэмным файлавым мэнэджары. Звычайна вам трэба абраць опцыю «Паказаць утоеныя файлы» у наладах вашай аперацыйнай сістэмы. Ці вы можаце выкарыстоўваць каманду для адлюстравання ўсіх файлаў у камандным радку. ls -a

На сэрвэры можа быць некалькі падобных файлаў, і кожны файл заўсёды працуе рэкурсіўна. Гэта азначае, што кожны файл будзе ўплываць на каталог, у якім ён знаходзіцца, а таксама на ўсе файлы і падкаталогі.

  1. Для таго, каб стварыць гэты файл, дастаткова скарыстацца любым даступным тэкставым рэдактарам (напрыклад нататнікам).
  2. Назва (.htaccess) - без двукоссяў і іншага.
  3. Захоўваем файл.
  4. Затым пераносім яго на Ваш сервер (хостынг) з дапамогай FTP кліента, абавязкова ў каранёвую дырэкторыю сайта. Вы павінны перадаваць праз ASCIIрэжым. Па змаўчанні большасць FTP-кліентаў будуць перадаваць дадзеныя праз рэжым, які неэфектыўны для перадачы кропкавых файлаў. У вашым FTP-кліенце павінна быць магчымасць устанавіць рэжым перадачы. BINARY
  5. Далей яго можна рэдагаваць як заўгодна, але абавязкова абнаўляць версію файла на серверы (хостынгу). Калі па нейкім чынніку здаецца, што правілы не ўступілі ў сілу, гэта можа быць злучана з няправільнымі правамі доступу да файлаў. Правы доступу да файлаў .htaccess павінны быць усталяваныя на 755. У вашым FTP-кліенце павінна быць опцыя "Правы доступу да файлаў". Акрамя таго, вы можаце запусціць каманду ў тэрмінале .chmod 755 .htaccess (лепш пазначыць поўны адрас да файла).

Просты прыклад перанакіравання старонкі

Адно з асноўных папулярных правілаў у .htaccess - перанакіраванне старонак. Вы можаце накіроўваць з любога адноснага шляху ў вашым дырэктару сайта. А таксама можаце перанакіраваць старонку або на абсалютны шлях на вашым сайце, або ў любое іншае месца ў Інтэрнеце. Асноўны сінтаксіс для выкарыстання ў вашым файле:

Redirect /directory_to_redirect_from/ https://mysite.com/new_directory/index.html

Неабходна заўсёды выкарыстоўваць адносны шлях у якасці зыходнага каталога. Абсалютны шлях павінен быць каталогам для перанакіравання.

Прыклад стварэння дакумента аб памылках у .htaccess

Стварэнне карыстацкіх старонак памылак вельмі карысна, бо дазваляе паказваць наведвальнікам вэб-сайта зразумелае паведамленне пра памылку, напрыклад, калі URL-адрас на вашым вэб-сайце не працуе. Гэта дазваляе пазбегнуць недружалюбнай памылкі "404 File Not Found" і дазваляе адлюстроўваць дружалюбную памылку, тлумачачы магчымыя рашэнні і накіроўваючы наведвальніка назад да змесціва вашага вэб-сайта, а не пакідаючы іх расчараванымі і страчанымі.

Каб настроіць карыстацкія дакументы пра памылкі, стварыце файл .htaccess, прытрымліваючыся асноўных інструкцый і рэкамендацый, якія ўключаюць наступны тэкст:

ErrorDocument 404 /error_pages/404.html

Прыведзены вышэй радок паказвае вэб-серверу Apache адлюстроўваць дакумент, размешчаны па адрасе /error_pages/404.html (пад вашым даменным імем/адрасам вэб-сайта), кожны раз, калі ўзнікае памылка 404 (файл не знойдзены).

У гэтым прыкладзе мы выказалі здагадку, што вы стварылі дакумент аб памылцы і назвалі яго "404.html" і змясцілі яго ў каталог з імем "error_pages" пад сваім даменным імем. Напрыклад, http://www.yourdomain.com/error_pages/404.html.

Дакумент 404.html уяўляе сабой звычайны HTML-дакумент, як і іншыя на вашым вэб-сайце, і можа адлюстроўваць любое змесціва, якое вы хочаце, аднак мы рэкамендуем уключаць паведамленне "Файл не знойдзены".

Каб наладзіць дадатковыя дакументы аб памылках, напрыклад, для паведамленняў пра памылкі "401 Unauthorized", "403 Forbidden" і "500 Internal Server", стварыце файл (кропка) htaccess, прытрымліваючыся асноўных інструкцый і рэкамендацый, якія ўключаюць наступны тэкст:

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

Прыклад абарона паролем у .htaccess

Сістэмы абароны паролем і аўтэнтыфікацыі, прапанаваныя вэб-серверам Apache, верагодна, з'яўляюцца найболей важным выкарыстаннем файлаў .htaccess. Вельмі лёгка мы можам абараніць паролем каталог (ці некалькі) вэб-сайта, для доступу да якіх патрабуецца імя карыстальніка і пароль. Працэдура ўваходу ў гэтыя бяспечныя каталогі аўтаматычна апрацоўваецца вэб-браўзэрам з дапамогай усплывальнага інтэрфейсу ўваходу (вы, верагодна, бачылі яго раней). Паролі таксама шыфруюцца з выкарыстаннем аднаго з лепшых даступных метадаў шыфравання, які забяспечвае бяспеку уліковых дадзеных для ўваходу.

Для пачатку вырашыце, які каталог вы жадаеце абараніць паролем (звярніце ўвагу, што ўсе файлы і падкаталогі ў каталогу будуць абаронены паролем), затым стварыце файл .htaccess, прытрымліваючыся асноўных інструкцый і рэкамендацый, якія ўключаюць наступны тэкст:

AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
Require valid-user

Першы радок паведамляе вэб-серверу Apache, што бяспечны каталог завецца «Імя карыстацкай зоны», гэта будзе адлюстроўвацца пры з'яўленні ўсплывальнага запыту на ўваход у сістэму. У другім радку паказваецца размяшчэнне файла пароляў. Трэці радок паказвае тып аўтэнтыфікацыі, у гэтым прыкладзе мы выкарыстоўваем «Базавы», таму што мы выкарыстоўваем базавую HTTP-аўтэнтыфікацыю, і, нарэшце, чацвёрты радок паказвае, што нам патрабуюцца сапраўдныя ўліковыя дадзеныя для ўваходу ў сістэму, гэты радок таксама можа выкарыстоўвацца для ўказання вызначанага імя карыстальніка, напрыклад "патрабаваць імя карыстальніка карыстальніка" запатрабуе імя карыстальніка "імя карыстальніка".

Вы б выкарыстоўвалі гэта, калі б вы абаранялі паролем вобласць адміністравання, а не наладжвалі агульнадаступны каталог, абаронены паролем.

Размяшчэнне файла пароляў можа быць дзе заўгодна на вашым вэб-серверы, "/location/of/password/file/" неабходна замяніць на поўны/абсалютны шлях да каталога, які змяшчае файл пароляў, і файл ".htpasswd". павінна існаваць, аднак гэта можна назваць як заўгодна.

Мы выкарыстоўваем імя файла ".htpasswd", таму што сервер распазнае імя файла і схавае яго ад наведвальнікаў. Звярніце ўвагу, што некаторыя серверы патрабуюць, каб файл пароляў знаходзіўся ў тым жа каталогу, што і файл .htaccess. Таксама важна выкарыстоўваць поўны/абсалютны шлях да сервера для размяшчэння файла пароляў, адносны шлях ці любы варыянт URL-адрасы не будуць працаваць.

Файл пароляў будзе змяшчаць нешта падобнае на наступны тэкст:

username:encryptedpassword
fred_smith:oCF9Pam/MXJg2

Цяпер вы не можаце проста прыдумаць пароль, на серверах Unix/Linux яны павінны быць зашыфраваны серверам, на серверах Windows вы проста выкарыстоўваеце просты тэкставы пароль, паколькі Windows не прапануе ніякіх метадаў шыфравання. Вы можаце мець любую колькасць запісаў карыстальнікаў у файле пароляў, па адным уліковым запісе ў радку, падзяляючы імя карыстальніка і пароль двукроп'ем. Калі ў вас няма доступу да сервера, папытаеце вашага пастаўшчыка паслуг уключыць гэтую функцыю. Калі ласка, панэль кіравання мае гэтую убудаваную функцыю.

Як забараніць наведвальнікаў па IP-адрасу

Сродкі блакавання наведвальнікаў, прапанаваныя вэб-серверам Apache, дазваляюць нам адмаўляць у доступе вызначаным наведвальнікам ці дазваляць доступ вызначаным наведвальнікам. Гэта надзвычай карысна для блакавання непажаданых наведвальнікаў або для дазволу доступу ўладальніка вэб-сайта толькі да пэўных раздзелаў вэб-сайта, напрыклад, да вобласці адміністравання.

Каб настроіць абмежаванні і блакіроўку наведвальнікаў, стварыце файл .htaccess, прытрымліваючыся асноўных інструкцый і ўказанняў, якія ўключаюць наступны тэкст:

order allow,deny
deny from 255.0.0.0
deny from 123.45.6.
allow from all

Прыведзеныя вышэй радкі паведамляюць вэб-серверу Apache аб блакаванні наведвальнікаў з IP-адрасоў «255.0.0.0» і «123.45.6.», звярніце ўвагу, што ў другім IP-адрасе адсутнічае чацвёрты набор лічбаў, гэта азначае любы IP-адрас, які адпавядае першаму. будуць заблакаваныя тры наборы лічбаў, напрыклад, "123.45.6.10" і "123.45.6.255".

Каб настроіць блакаванне ўсіх наведвальнікаў, акрамя сябе, стварыце файл .htaccess, прытрымліваючыся асноўных інструкцый і ўказанняў, якія ўключаюць наступны тэкст:

order allow,deny
allow from 255.0.0.0
deny from all

Прыведзеныя вышэй радкі паведамляюць вэб-серверу Apache аб блакаванні ўсіх наведвальнікаў, акрамя тых, у каго IP-адрас «255.0.0.0», які вы павінны замяніць сваім уласным IP-адрасам.

Вы можаце дадаць любую колькасць запісаў "забараніць ад" і "дазволіць ад" пасля "замовіць дазволіць, забараніць". Звярніце ўвагу на змяненне з "дазволіць ад усіх" на "забараніць ад усіх" у ніжняй радку, гэта важна і павінна быць зменена ў залежнасці ад вашых патрабаванняў. Калі вы жадаеце дазволіць сваім наведвальнікам доступ, вы павінны выкарыстоўваць "дазволіць ад усіх" і размясціць радкі "забараніць ад" вышэй.

Заблакаваным наведвальнікам будзе паказана паведамленне пра памылку403 Forbidden».

Прыклад наладкі файла .htaccess.

Прыклады правілаў, якія змяшчаюцца ў маім файле .htaccess

# AMPFORWPLBROWSERCSTART Browser Caching – amp хэшаванне на баку браўзэра.

IfModule mod_expires.c абавязкова заключаем у дужкі "<>"
ExpiresActive On
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg
ExpiresByType application/vnd.ms-fontobject "access 1 year"
ExpiresByType application/x-font-ttf "access 1 year"
ExpiresByType application/x-font-opentype "access 1 year"
ExpiresByType application/x-font-woff "access 1 year"
ExpiresByType image/svg+xml "access 1 year"
ExpiresByType image/webp “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/png “access 1 year”
ExpiresByType image/x-icon “access 1 year”
ExpiresByType text/css "access 3 month"
ExpiresByType text/javascript "access 3 month"
ExpiresByType application/javascript "access 3 month"
ExpiresByType application/x-javascript "access 3 month"
ExpiresByType application/xhtml-xml "access 3 month"
ExpiresByType application/pdf “access 3 month”
ExpiresByType application/x-shockwave-flash "access 3 month"
/IfModule абавязкова заключаем у дужкі “<>”

# BEGIN GZIP COMPRESSION - сціск gzip

IfModule mod_gzip. абавязкова заключаем у дужкі "<>"
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
/IfModule абавязкова заключаем у дужкі “<>”

# Remove browser bugs (толькі неабходнае для рэальнага аўто browsers) – Выдаляе памылкі браўзэра

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
IfModule mod_deflate.c абавязкова заключаем у дужкі "<>"

# Compress HTML, CSS, JavaScript, Text, XML and fonts сціск – HTML, CSS, JavaScript, Text, XML and fonts

AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
/IfModule абавязкова заключаем у дужкі “<>”

# Забарона аддачы HTTP-загалоўкаў Vary браўзэрам сямейства MSIE


BrowserMatch "MSIE" force-no-vary
BrowserMatch “Mozilla/4.[0-9]{2}” force-no-vary
/IfModule абавязкова заключаем у дужкі “<>”

# Схаваць подпіс сервера

ServerSignature Off

# Адключэнне левых ботаў

SetEnvIfNoCase User-Agent "^Missigua Locator" bad_bot
#SetEnvIfNoCase User-Agent "^PEAR HTTP_Request class" bad_bot
SetEnvIfNoCase User-Agent "^Java/1.4.1" bad_bot
SetEnvIfNoCase User-Agent "^Java/1.5.0" bad_bot
SetEnvIfNoCase User-Agent "^psycheclone" bad_bot
SetEnvIfNoCase User-Agent "^WEP Search 00" bad_bot
SetEnvIfNoCase User-Agent "^FlashGet" bad_bot
SetEnvIfNoCase User-Agent "^GetRight" bad_bot
SetEnvIfNoCase User-Agent "^GetWeb!" bad_bot
SetEnvIfNoCase User-Agent "^Go!Zilla" bad_bot
SetEnvIfNoCase User-Agent "^httplib" bad_bot
SetEnvIfNoCase User-Agent "^Indy Library" bad_bot
SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
SetEnvIfNoCase User-Agent "^InterGET" bad_bot
SetEnvIfNoCase User-Agent "^Internet Ninja" bad_bot
SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
SetEnvIfNoCase User-Agent "^libwww" bad_bot
SetEnvIfNoCase User-Agent "^libwww-perl" bad_bot
SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla.*NEWT" bad_bot
SetEnvIfNoCase User-Agent "^Octopus" bad_bot
SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
SetEnvIfNoCase User-Agent "^SuperBot" bad_bot
SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
SetEnvIfNoCase User-Agent "^Wells Search II" bad_bot
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^wget" bad_bot

Я прывёў мінімум правіл якія змяшчаюцца ў маім файле.

Асаблівасці наладкі файла .htaccess і распаўсюджаныя памылкі

Менавіта так, гэты файл часцей за ўсё выклікае банальную серверную памылку 500 Internal Server Error. Рэдагаваць файл неабходна вельмі асцярожна і прытрымлівацца наступных правілаў:

  • Заўсёды перад пачаткам рэдагавання .htaccess файла захоўвайце яго працаздольную копію.
  • Ніколі не ўносьце новыя правілы на працоўны сайт без папярэдняй праверкі файла.
  • Кадзіроўка, як правіла UTF -8.
  • Кожнае правіла трэба пісаць з новага радка.
  • Выключаюцца тыя інструкцыі, якія не апрацоўвае сервер Apache - адразу выклікаюць серверную памылку.
  • Нельга пісаць некалькі інструкцый у адным радку - памылка 500 будзе Вам забяспечана.
  • Будзьце ўважлівыя - лішні прабел або сімвал могуць прывесці да памылкі.

Які ўплыў аказвае .htaccess файл на сайт

Як правіла дзякуючы гэтаму файлу можна выдатна аптымізаваць сайт для пошукавых сістэм. Вось што ён можа:

  1. Настройка 301-га рэдырэкту на сайце (самае распаўсюджанае правіла). Можа выкарыстоўвацца пад неабходныя задачы.
  2. Настройкі хэшавання сайта на баку сервера.
  3. Уключэнне сціску gzip (скарочана ад GNU Zip) - сціск файлаў на боку сервера.
  4. Забяспечыць абарону сайта: блакаванне IP адрасоў, забароны і іншае.
  5. Указаць неабходны аб'ём вылучаемай памяці для сайта.

Гэта мінімум даступнага функцыяналу для гэтага файла. Галоўнае правільна прытрымлівацца ўсіх гэтых рэкамендацый. У наступных артыкулах, я пастараюся апісаць некаторыя правілы для гэтага файла, а таксама мы даведаемся што такое файл robots.txt і як дадаць карту сайта у пошукавыя сістэмы.

Дзякуй, што чытаеш Nicola Top

Наколькі публікацыя карысная?

Націсніце на смайлік, каб ацаніць!

Сярэдняя адзнака 5 / 5. Колькасць адзнак: 29

Ацэнак пакуль няма. Пастаўце адзнаку першым.

Вам таксама можа спадабацца...

1 адказ

  1. Илья кажа:

    Оууу дзякуй за інфу. хоць на жывыя прыклады можна зірнуць. Градыент анімацыя проста супер))) Выдатнае прымяненне - хутчэй за ўсё доўга мучыўся.

Пакінуць адказ

Ваш адрас электроннай пошты не будзе апублікаваны. Неабходныя палі пазначаны як *

трынаццаць − 8 =