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 клиентіңіз тасымалдау режимін орната алуы керек. ЕКІЛІК
  5. Содан кейін оны қалауыңызша өңдеуге болады, бірақ сервердегі (хостингтегі) файлдың нұсқасын жаңартуды ұмытпаңыз. Егер қандай да бір себептермен ережелер күшіне енбеген сияқты көрінсе, бұл дұрыс емес файл рұқсаттарына байланысты болуы мүмкін. .htaccess файл рұқсаттары 755 мәніне орнатылуы керек. FTP клиентіңізде "Файл рұқсаттары" опциясы болуы керек. Сонымен қатар, пәрменді терминалда іске қосуға болады .chmod 755 .htaccess (файл алдында толық мекенжайды көрсеткен дұрыс).

Қарапайым бетті қайта бағыттау мысалы

.htaccess-тегі негізгі танымал ережелердің бірі - бетті қайта бағыттау. Сайт директорындағы кез келген салыстырмалы жолдан бағыттауға болады. Сондай-ақ, бетті сайтыңыздағы абсолютті жолға немесе Интернеттегі кез келген басқа жерге қайта бағыттай аласыз. Файлда қолданылатын негізгі синтаксис:

/directory_to_redirect_from/ https://mysite.com/new_directory/index.html қайта бағыттау

Сіз әрқашан бастапқы каталог ретінде салыстырмалы жолды пайдалануыңыз керек. Абсолютті жол қайта бағытталатын каталог болуы керек.

.htaccess бағдарламасында қате құжатын жасау мысалы

Теңшелетін қате беттерін жасау өте пайдалы, себебі ол веб-сайтқа кірушілерге түсінікті қате туралы хабарды көрсетуге мүмкіндік береді, мысалы, веб-сайтыңыздағы URL мекенжайы жұмыс істемесе. Бұл жағымсыз «404 файл табылмады» қатесін болдырмайды және ықтимал шешімдерді түсіндіре отырып, келушіні ренжітіп, жоғалтып алмай, веб-сайтыңыздың мазмұнына қайта бағыттап, түсінікті қатені көрсетуге мүмкіндік береді.

Теңшелетін қате құжаттарын орнату үшін, келесі мәтінді қамтитын негізгі нұсқаулар мен нұсқауларға сәйкес .htaccess файлын жасаңыз:

ErrorDocument 404 /error_pages/404.html

Жоғарыдағы жол Apache веб-серверіне 404 (файл табылмады) қатесі орын алған сайын /error_pages/404.html (домендік атыңыз/веб-сайт мекенжайыңыз астында) мекенжайында орналасқан құжатты көрсетуін айтады.

Бұл мысалда сіз қате құжатын жасап, оны "404.html" деп атадыңыз және оны домен атыңыздың астында "error_pages" деп аталатын каталогқа орналастырдыңыз деп болжадық. Мысалы, http://www.yourdomain.com/error_pages/404.html.

404.html құжаты веб-сайтыңыздағы басқалар сияқты кәдімгі HTML құжаты болып табылады және сіз қалаған кез келген мазмұнды көрсете алады, бірақ «Файл табылмады» хабарын қосуды ұсынамыз.

401 рұқсат етілмеген, 403 тыйым салынған және 500 ішкі сервер қате туралы хабарлары сияқты қосымша қате құжаттарын орнату үшін келесі мәтінді қамтитын негізгі нұсқаулар мен нұсқауларды орындай отырып, htaccess файлын (нүкте) жасаңыз:

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

.htaccess ішіндегі құпия сөзді қорғаудың мысалы

Apache веб-сервері ұсынатын құпия сөзді қорғау және аутентификация жүйелері .htaccess файлдарын пайдаланудың ең маңыздысы болуы мүмкін. Біз кіру үшін пайдаланушы аты мен құпия сөзді қажет ететін веб-сайттың каталогын (немесе бірнешеуін) құпия сөзбен оңай қорғай аламыз. Бұл қауіпсіз каталогтарға кіру процедурасы қалқымалы кіру интерфейсі арқылы веб-браузер арқылы автоматты түрде өңделеді (сіз оны бұрын көрген боларсыз). Құпия сөздер де қол жетімді шифрлаудың ең жақсы әдістерінің бірі арқылы шифрланады, бұл сіздің кіру тіркелгі деректеріңізді қауіпсіз сақтайды.

Алдымен, қай каталогты құпия сөзбен қорғағыңыз келетінін шешіңіз (каталогтағы барлық файлдар мен ішкі каталогтар құпия сөзбен қорғалатынын ескеріңіз), содан кейін келесі мәтінді қамтитын негізгі нұсқаулар мен нұсқауларды орындай отырып .htaccess файлын жасаңыз:

AuthName «Мүше аймағының атауы»
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
Жарамды пайдаланушыны талап етеді

Бірінші жол Apache веб-серверіне қауіпсіз каталогтың «Пайдаланушы аймағының аты» деп аталатынын айтады, ол жүйеге кіру шақыруы пайда болған кезде көрсетіледі. Екінші жол пароль файлының орнын көрсетеді. Үшінші жол аутентификация түрін көрсетеді, бұл мысалда біз HTTP негізгі аутентификациясын қолданып жатқандықтан «Негізгі» қолданып жатырмыз және соңында төртінші жол жарамды кіру тіркелгі деректерін қажет ететінін көрсетеді, бұл жолды белгілі бір пайдаланушы атын көрсету үшін де пайдалануға болады. , мысалы, "пайдаланушы атын талап ету" "пайдаланушы аты" пайдаланушы атын талап етеді.

Құпия сөзбен қорғалған жалпы каталогты орнатудың орнына әкімші аймағын құпия сөзбен қорғайтын болсаңыз, мұны қолданар едіңіз.

Құпия сөз файлының орны веб-серверіңіздің кез келген жерінде болуы мүмкін, "/location/of/password/file/" құпия сөз файлы мен ".htpasswd" файлы бар каталогқа толық/абсолютті жолмен ауыстырылуы керек. болуы керек, бірақ сіз оны қалағаныңызша атай аласыз.

Біз «.htpasswd» файл атауын қолданамыз, себебі сервер файл атауын таниды және оны келушілерден жасырады. Кейбір серверлер құпия сөз файлының .htaccess файлымен бір каталогта болуын талап ететінін ескеріңіз. Құпия сөз файлының орны үшін толық/абсолютті сервер жолын пайдалану да маңызды, салыстырмалы жол немесе URL мекенжайының кез келген нұсқасы жұмыс істемейді.

Құпия сөз файлында келесі мәтінге ұқсас нәрсе болады:

пайдаланушы аты: шифрланған құпия сөз
fred_smith:oCF9Pam/MXJg2

Енді сіз жай ғана құпия сөз ойлап таба алмайсыз, Unix/Linux серверлерінде олар сервер арқылы шифрлануы керек, Windows серверлерінде қарапайым мәтіндік құпия сөзді қолданасыз, өйткені Windows ешқандай шифрлау әдістерін ұсынбайды. Құпия сөз файлында пайдаланушы жазбаларының кез келген саны болуы мүмкін, әр жолға бір тіркелгі, пайдаланушы аты мен құпия сөзді қос нүктемен бөледі. Серверге кіру мүмкіндігіңіз болмаса, қызмет провайдеріңізден осы мүмкіндікті қосуын сұраңыз. Басқару тақтасында бұл мүмкіндік орнатылған.

Келушілерді IP мекенжайы бойынша қалай блоктауға болады

Apache веб-сервері ұсынатын келушілерді блоктау құралдары бізге белгілі бір келушілерге кіруге тыйым салуға немесе белгілі бір келушілерге кіруге рұқсат беруге мүмкіндік береді. Бұл қалаусыз келушілерді блоктау немесе веб-сайт иесіне веб-сайттың әкімшілік аймағы сияқты белгілі бір бөлімдеріне ғана кіруге рұқсат беру үшін өте пайдалы.

Келуші шектеулерін және блоктауды орнату үшін келесі мәтінді қамтитын негізгі нұсқаулар мен нұсқауларды орындай отырып .htaccess файлын жасаңыз:

order allow,deny
255.0.0.0 бастап бас тарту
123.45.6-дан бас тарту.
allow from all

Жоғарыда көрсетілген жолдар Apache веб-серверіне кірушілерді «255.0.0.0» және «123.45.6.» IP мекенжайларынан блоктау керектігін айтады, екінші IP мекенжайында төртінші сандар жинағы жоқ екенін ескеріңіз, бұл кез келген IP мекенжайына сәйкес келетін кез келген IP мекенжайын білдіреді. бірінші. нөмірлердің үш жинағы бұғатталады, мысалы, "123.45.6.10" және "123.45.6.255".

Өзіңізден басқа барлық келушілерді блоктауды орнату үшін, келесі мәтінді қамтитын негізгі нұсқаулар мен нұсқауларды орындай отырып, .htaccess файлын жасаңыз:

order allow,deny
255.0.0.0 бастап рұқсат ету
deny from all

Жоғарыдағы жолдар Apache веб-серверіне "255.0.0.0" IP мекенжайы барлардан басқа барлық келушілерді бұғаттауды айтады, оны өз IP мекенжайыңызбен ауыстыру керек.

«Тапсырыс беруге рұқсат ету, қабылдамау» дегеннен кейін кез келген «қабылданбау» және «рұқсат ету» жазбаларының санын қосуға болады. Түпнұсқадағы «барлығынан рұқсат беруден» «бәрінен бас тартуға» өзгертуге назар аударыңыз, бұл маңызды және сіздің талаптарыңызға байланысты өзгертілуі керек. Егер келушілерге кіруге рұқсат бергіңіз келсе, «барлығынан рұқсат беру» параметрін пайдаланып, жоғарыдағы «қабылданбау» жолдарын қойыңыз.

Бұғатталған келушілерге қате туралы хабар көрсетіледі "403 Тыйым салынған«.

.htaccess файлын орнату мысалы.

Менің .htaccess файлымдағы мысал ережелері

# AMPFORWPLBROWSERCSTART Браузер кэштеу – браузер жағында күшейткіш хэштеу.

IfModule mod_expires.c «<>» жақшаға алынуы керек
Белсенді күні аяқталады
AddType application/vnd.ms-fontobject .eot
AddType қолданбасы/x-font-ttf .ttf
AddType қолданбасы/x-font-opentype .otf
AddType қолданбасы/x-font-woff .woff
AddType image/svg+xml .svg
ExpiresByType application/vnd.ms-fontobject "1 жылға рұқсат"
ExpiresByType қолданбасы/x-font-ttf «1 жылға рұқсат»
ExpiresByType қолданбасы/x-font-opentype "1 жылға рұқсат"
ExpiresByType қолданбасы/x-font-woff «1 жылға рұқсат»
ExpiresByType image/svg+xml «1 жылға кіру»
ExpiresByType image/webp "1 жылға рұқсат"
ExpiresByType суреті/gif «1 жылға рұқсат»
ExpiresByType image/jpg «1 жылға рұқсат»
ExpiresByType image/jpeg «1 жылға рұқсат»
ExpiresByType image/png «1 жылға рұқсат»
ExpiresByType суреті/x-белгішесі «1 жылға рұқсат»
ExpiresByType text/css "3 айға қол жеткізу"
ExpiresByType мәтіні/Javascript «қолжетімділік 3 ай»
ExpiresByType қолданбасы/javascript «қолжетімділік 3 ай»
ExpiresByType қолданбасы/x-javascript «қолжетімділік 3 ай»
ExpiresByType application/xhtml-xml «3 айға қол жеткізу»
ExpiresByType қолданбасы/pdf «қолжетімділік 3 ай»
ExpiresByType қолданбасы/x-shockwave-flash «қолжетімділік 3 ай»
/IfModule «<>» жақшаға алынуы керек

# BEGIN GZIP COMPRESSION - gzip қысу

IfModule mod_gzip. «<>» жақшаға алуды ұмытпаңыз
mod_gzip_on Иә
mod_gzip_dechunk Иә
mod_gzip_item_include файлы \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include өңдегіші ^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 ^Мазмұн-кодтау:.*gzip.*
/IfModule «<>» жақшаға алынуы керек

# Браузер қателерін жою (тек ескі браузерлер үшін қажет)

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Тақырыпқа Vary User-Agent қосылады
IfModule mod_deflate.c «<>» жақшаға алынуы керек

# HTML, CSS, JavaScript, Text, XML және қаріптерді қысыңыз

AddOutputFilterByType DEFLATE қолданбасы/javascript
AddOutputFilterByType DEFLATE қолданбасы/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE қолданбасы/x-шрифт
AddOutputFilterByType DEFLATE қолданбасы/x-font-opentype
AddOutputFilterByType DEFLATE қолданбасы/x-font-otf
AddOutputFilterByType DEFLATE қолданбасы/x-font-truetype
AddOutputFilterByType DEFLATE қолданбасы/x-font-ttf
AddOutputFilterByType DEFLATE қолданбасы/x-javascript
AddOutputFilterByType DEFLATE қолданбасы/xhtml+xml
AddOutputFilterByType DEFLATE қолданбасы/xml
AddOutputFilterByType DEFLATE қаріп/ашық түрі
AddOutputFilterByType DEFLATE шрифт/otf
AddOutputFilterByType DEFLATE шрифт/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE сурет/x-белгішесі
AddOutputFilterByType DEFLATE мәтін/css
AddOutputFilterByType DEFLATE мәтін/html
AddOutputFilterByType DEFLATE мәтін/javascript
AddOutputFilterByType DEFLATE мәтін/қарапайым
AddOutputFilterByType DEFLATE мәтін/xml
/IfModule «<>» жақшаға алынуы керек

# HTTP Vary тақырыптарының MSIE отбасы браузерлеріне қайтарылуын болдырмайды


BrowserMatch «MSIE» күштеп өзгертусіз
BrowserMatch "Mozilla/4.[0-9]{2}" мәжбүрлі-айнымалы емес
/IfModule «<>» жақшаға алынуы керек

# Сервер қолтаңбасын жасыру

Сервер қолтаңбасы өшірулі

# Сол жақ боттарды өшіру

SetEnvIfNoCase пайдаланушы-агент “^Missigua Locator” bad_bot
#SetEnvIfNoCase пайдаланушы-агент “^PEAR HTTP_Request класы” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^Java/1.4.1” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^Java/1.5.0” bad_bot
SetEnvIfNoCase пайдаланушы агенті "^psycheclone" bad_bot
SetEnvIfNoCase пайдаланушы-агент “^WEP Search 00” bad_bot
SetEnvIfNoCase пайдаланушы-агент «^FlashGet» bad_bot
SetEnvIfNoCase пайдаланушы-агент «^GetRight» bad_bot
SetEnvIfNoCase пайдаланушы-агент «^GetWeb!» жаман_бот
SetEnvIfNoCase пайдаланушы-агент “^Go!Zilla” bad_bot
SetEnvIfNoCase пайдаланушы агенті “^httplib” bad_bot
SetEnvIfNoCase пайдаланушы агенті “^Indy Library” bad_bot
SetEnvIfNoCase пайдаланушы-агент "^InfoNaviRobot" bad_bot
SetEnvIfNoCase пайдаланушы-агент «^InterGET» bad_bot
SetEnvIfNoCase пайдаланушы-агент “^Internet Ninja” bad_bot
SetEnvIfNoCase пайдаланушы-агент «^LexiBot» bad_bot
SetEnvIfNoCase пайдаланушы-агент “^libWeb/clsHTTP” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^libwww” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^libwww-perl” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^LinkextractorPro” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^Mozilla.*NEWT” bad_bot
SetEnvIfNoCase пайдаланушы-агент "^Октопус" bad_bot
SetEnvIfNoCase пайдаланушы-агент “^ProWebWalker” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^SuperBot” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^WebAuto” bad_bot
SetEnvIfNoCase пайдаланушы-агент «^Wells Search II» bad_bot
SetEnvIfNoCase пайдаланушы-агент “^Wget” bad_bot
SetEnvIfNoCase пайдаланушы-агент “^wget” bad_bot

Мен файлымда қамтылған ең аз ережелерді бердім.

.htaccess файлын теңшеу мүмкіндіктері және жалпы қателер

Дұрыс, бұл файл көбінесе 500 ішкі сервер қатесі банальды сервер қатесін тудырады. Сіз файлды өте мұқият өңдеуіңіз және келесі ережелерді сақтауыңыз керек:

  • Өңдеу алдында әрқашан .htaccess файлының жұмыс көшірмесін сақтаңыз.
  • Файлды қарап шықпай-ақ ешқашан өндіріс сайтына жаңа ережелерді енгізбеңіз.
  • Кодтау әдетте UTF-8 болып табылады.
  • Әрбір ереже жаңа жолға жазылуы керек.
  • Apache серверімен өңделмеген нұсқаулар алынып тасталды - олар дереу сервер қатесін тудырады.
  • Бір жолда бірнеше нұсқауларды жаза алмайсыз - сіз 500 қате аласыз.
  • Сақ болыңыз - қосымша бос орын немесе таңба қатеге әкелуі мүмкін.

.htaccess файлы сайтқа қандай әсер етеді

Әдетте, осы файлдың арқасында сіз керемет жасай аласыз іздеу жүйелері үшін сайтты оңтайландыру. Міне, ол не істей алады:

  1. Сайтта 301 қайта бағыттауды орнату (ең көп таралған ереже). Қажетті тапсырмалар үшін пайдалануға болады.
  2. Сервер жағындағы сайт хэштеу параметрлері.
  3. gzip қысуын қосу (GNU Zip үшін қысқаша) – сервер жағында файлды қысу.
  4. Сайтты қорғауды қамтамасыз етіңіз: IP мекенжайларын блоктау, тыйым салу және т.б.
  5. Сайт үшін бөлінген жадтың қажетті көлемін көрсетіңіз.

Бұл осы файл үшін ең аз қолжетімді функция. Ең бастысы - барлық осы ұсыныстарды дұрыс орындау. Келесі мақалаларда мен сипаттауға тырысамын осы файл үшін кейбір ережелер, және біз не екенін де білетін боламыз robots.txt файлы және сайт картасын қалай қосуға болады іздеу жүйелеріне.

Никола Топты оқығаныңыз үшін рахмет

Пост қаншалықты пайдалы?

Бағалау үшін смайликті басыңыз!

орташа рейтинг 5 / 5. Бағалар саны: 29

Әзірге рейтингтер жоқ. Алдымен бағалаңыз.

Сізге де ұнауы мүмкін...

1 Жауап

  1. Илья айтты:

    Ооо ақпарат үшін рахмет. Кем дегенде, сіз тірі мысалдарды көре аласыз. Градиенттік анимация өте керемет))) Өте жақсы қолданба - ұзақ уақыт бойы зардап шеккен болуы мүмкін.

Пікір үстеу

Э-пошта мекенжайыңыз жарияланбайды. Міндетті өрістер * таңбаланған

14 + 17 =