Отворете 21 регистрация
Предстоящо събитие: Вижте как нашите опции за търговия могат да помогнат на вашия бизнес да се адаптира към променящия се пейзаж на GoDaddy Open 2021 на 28 септември.
Добре дошли в нашия урок за .htaccess! .htaccess е малък, но мощен обикновен текстов файл, който можете да използвате, за да правите промени в конфигурацията на Apache на базата на директория. Той действа като посредник между вас и уеб сървъра на Apache.
Научете се да модифицирате файла .htaccess и ще имате силата да насочвате потребителите си към правилната страница, да надхитрявате хакерите и да правите настройки, за да подобрите ефективността на вашия сайт.
Чрез модифициране на файла .htaccess можете да правите промени в поведението на уебсайта си, което иначе би изисквало по-високи нива на достъп, отколкото може да предлага вашият хостинг акаунт.
Този урок за .htaccess ще обясни как да използвате силата на .htaccess за изпълнение на често срещани задачи. Част от магията, която може да постигне, включва:
Пренасочване и пренаписване на URL адреси — Уверете се, че вашите потребители ще стигнат точно там, където искате да отидат. Сигурност — Ограничете достъпа до определени файлове или директории или блокирайте нежелан достъп от вашия сайт. Оптимизация на сайта — Добавете настройки, които подобряват ефективността на сайта.А сега нека влезте в нашия урок за .htaccess.
Файлът .htaccess най-често се намира в корена на уебсайта, който контролира. Оттам ще засегне всички подпапки в сайта.
Можете обаче също да поставите .htaccess файл в определена поддиректория по-надолу в структурата на вашия сайт. Това е полезно, ако искате да засегнете само част от уебсайта си, тъй като файлът ще засегне само директорията, в която се намира, и тези под нея.
Допустимо е да имате няколко .htaccess файла на един сайт, но за по-лесна поддръжка уебмастърите често използват един файл, разположен в корена на сайта, за да направят всички необходими промени.
Всеки текстов редактор може да се използва за модифициране на .htaccess, включително този, вграден във файловия мениджър на cPanel. Това е удобен начин за редактиране на .htaccess файлове.
1. Влезте в cPanel.2. В раздела Файлове щракнете върху иконата на файловия мениджър.
3. В изскачащия прозорец изберете корена на документа за сайта, върху който работите, и се уверете, че е отметнато Показване на скритите файлове. Имайте предвид, че някои версии на File Manager може да имат малко по-различен интерфейс, но ще изискват същите настройки. Ако прозорецът по-долу не се появи автоматично, когато щракнете върху File Manager, потърсете икона за настройки и щракнете върху нея, за да достигнете до тези настройки.
4. Потърсете файла .htaccess и щракнете с десния бутон върху него. От падащото меню, което се показва, изберете Редактиране.
5. Сега ще бъдете в текстовия редактор, където можете да правите и запазвате промени.
Свързани: съвети и трикове за cPanel, които ще улеснят живота ви
Не забравяйте да създадете резервно копие.Ако объркате своя .htaccess файл, можете лесно да счупите уебсайта си, така че първо създайте резервно копие. Ако все пак сринете уебсайта си и по някаква причина нямате резервно копие, не се паникьосвайте – просто преименувайте .htaccess на .htaccess.old и това трябва да го върне обратно.
За какво е точката в началото на името на файла?Точката в началото на името на файла казва на Unix/Linux системите да скрият този файл, така че когато използвате файловия мениджър, не забравяйте да поставите отметка в квадратчето за „показване на скритите файлове ” или може да не успеете да го намерите.
Понякога трябва да пренасочите потребителите към страница, различна от тази, към която са се свързали от своя уеб браузър. Може би тази страница вече не съществува или може би искате да ги препратите от не-WWW URL към WWW URL. Тук идват пренасочванията и пренаписването.
Имайте предвид, че много от тези примери започват с директивата RewriteEngine on. Трябва да използвате това само веднъж и то ще се прилага от този момент нататък във файла, освен ако не го изключите.
Принудително WWW или не-WWW използване на .htaccessЗа оптимизиране на търсачките често се препоръчва да се придържате стриктно към WWW или не-WWW версия на уебсайта си, за да постигнете по-силно присъствие в търсачките. За да постигнете това, добавете следните редове (не забравяйте да промените example.com на името на вашия сайт):
#Force WWWRewriteEngine onRewriteCond %{HTTP_HOST} ^example.com [NC]RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]Force HTTPSИзползвайте това, за пренасочване на не-HTTPS URL към HTTPS заявка:
#Force WWWRewriteEngine onRewriteCond %{HTTP_HOST} ^example.com [NC]RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]Force завършваща наклонена чертаИзползвайте това за пренасочване на URL адреси, които не съдържат наклонена черта в края, към същите URL адреси с наклонена черта в края (т.е. от http://example.com/somepage към http://example.com/somepage/):
RewriteEngine onRewriteCond %{REQUEST_URI} /+[^\.]+$RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]Премахване на наклонената черта в краяЗа да премахнете наклонената черта в края, използвай това:
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)/$ /$1 [R=301,L]Пренасочване на една страницаАвтоматично един URL към различен URL:
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)/$ /$1 [R=301,L]Пренасочване на целия сайт към нов домейнАко премествате сайта си в нов домейн, но всички връзките иначе ще останат същите, можете да направите това на стария домейн:
RewriteEngine onRewriteCond %{HTTP_HOST} ^OldDomain.comRewriteRule ^(.*) http://NewDomain.com/$1 [P]Псевдоним към „чисти“ URL адресиДобавете тези редове, ако искате да използвате „чисти“ URL адреси – т.е. http://example.com/articles вместо http://example.com/articles.php (в примера заменете .php с разширението, което искате да премахнете):
RewriteEngine onRewriteCond %{SCRIPT_FILENAME} !-dRewriteRule ^([^.]+)$ $1.php [NC,L].htaccess може да се използва за защита на единични файлове или цяла директория, като отказвате изцяло достъп или изисквате парола. Можете също така да блокирате тези подли хотлинкери и да им попречите да използват вашата честотна лента.
Защитете с парола един файлЗа да защитите с парола един файл в иначе публична папка, първо трябва да създадете .htpasswd файл, съдържащ потребителското име и шифрованата парола за разрешените влизания.
Лесен начин да направите това е да използвате безплатен инструмент за уеб администратори като този в 4WebHelp. След като запишете файла .htpasswd във вашата система, можете да използвате .htaccess заедно с него. Ето пълния процес:
1. Използвайте инструмент за уеб администратори, за да създадете комбинация потребителско име:шифрована_парола. Полученият ред ще изглежда по следния начин: User_Name:14fcYjcLcsbMU Копирайте получения ред и го запазете в текстов редактор.2. Влезте в cPanel и под секцията Файлове щракнете върху Файлов мениджър.
3. В изскачащия прозорец изберете началната директория и се уверете, че е избрано Показване на скритите файлове. Това е мястото, където ще поставите файла .htpasswd. Това местоположение е скрито от обществеността и не е достъпно чрез URL, така че е по-сигурно.
4. Вече сте в началната си директория. Щракнете върху връзката +Файл в горния ляв ъгъл, за да създадете нов файл там. В изскачащия прозорец въведете .htpasswd като име на файла и щракнете върху Създаване на нов файл. Оставете втория ред празен. По подразбиране ще бъде текущата начална директория.
5. Ще се покаже списък на вашата домашна директория. Обърнете внимание на пътя, показан в левия панел на файловия мениджър, тъй като ще ви трябва по-късно. Ще бъде нещо като /home/username. Превъртете надолу, докато намерите файла, който току-що сте създали, и щракнете с десния бутон върху него. (Ако не виждате файлове, започващи с точка, вероятно не сте избрали „показване на скритите файлове“ — можете да коригирате това, като щракнете върху иконата за настройки и го направите там.)
6. Ще се отвори файловият редактор. Поставете реда, който сте запазили от шифратора на пароли, в новия файл и го запазете. След това сте готови да преминете към модификациите на .htaccess.7. Добавете следното към вашия .htaccess файл, като използвате процедурата, описана в началото на тази статия. Заменете /home/username с пътя, който отбелязахте по-рано. Заменете mypage.html с името на страницата, която искате да защитите с парола. Можете също да промените „Изисква се влизане“ на нещо различно, като „Зона за членове“ — това ще се покаже в подканата за влизане.
AuthUserFile /home/username/.htpasswdAuthName "Изисква се влизане"AuthType basicRequire valid-user8. Щракнете върху Запазване на промените. След това посетете вашия сайт и опитайте да получите достъп до файла, за да проверите дали защитата работи. Ако посетите страницата втори път, може да не бъдете подканени за вход, тъй като браузърът ви вероятно ще го запомни.
Свързано: Как да използвате Bing Webmaster Tools, за да подобрите SEO на вашия сайт
Защитете с парола директорияПроцедурата за защита с парола на цяла директория е подобна на тази за защита на файл:
Създайте .htpasswd файл, както е описано в елемента по-горе, Защитете с парола един файл. Спрете след стъпка 6, преди да направите промени в .htaccess. Създайте нов .htaccess файл в поддиректорията, която искате да защитите, и добавете следните редове: AuthUserFile /home/username/.htpasswdAuthName "Login Required"AuthType basicRequire valid-user< p>Имайте предвид, че можете също да защитите директория чрез cPanel, без да използвате .htaccess.Отказ на достъп до един файлЗа да предотвратите достъпа на всички потребители до определен файл, добавете следните редове, като замените името на файла с името на файла, който искате да защитите:
order allow,denydeny from all Отказ на достъп до скрити файлове и директорииИзползвайте това, за да предотвратите директен достъп на хакери до файлове, които трябва да останат скрити - т.е. тези, които започват с точка. Тези редове ще дадат на хакера грешка 404 not found вместо отказ на достъп, така че хакерът няма да има представа.
RedirectMatch 404 /\..*$Block image hotlinkingНе позволявайте на хората да крадат вашата честотна лента, като се свързвате към вашите изображения:
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]Можете също така да промените горното, за да показвате алтернативно изображение вместо това, което е свързано с гореща връзка, обикновено такова, което казва нещо като „Не е разрешено свързване с гореща връзка!“ За да направите това, променете последния ред на този:
RewriteRule \.(jpg|jpeg|png|gif)$ http://www.yourdomain.com/no-hotlinking.jpg [R,L]Следва в нашия урок за .htaccess: Използване на .htaccess за подобряване на ефективността на сайта. С него можете да активирате компресирането на файлове и да упражнявате известен контрол върху кеширането, което може значително да ускори вашия сайт.
Компресирайте текстови файлове с помощта на gzip/deflateМодулът mod_deflate на Apache може да компресира данни с помощта на gzip компресия, преди да ги предаде на потребителя. Това може да намали честотната лента, която вашият сайт използва, въпреки че не е задължително да ускори сайта ви. Модулът вече е активиран на повечето сървъри, но ще трябва да добавите реда по-долу, за да го използвате действително:
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascriptSet expires headersКеширането на браузъра значително ускорява вашия уебсайт. За да се възползвате от това, трябва да зададете дата на изтичане за всеки тип файл, който искате да кеширате. Използвайте кода по-долу като отправна точка. Можете да зададете продължителността на кеша за всеки елемент, като използвате всички стандартни времеви единици, включително години, месеци, седмици, дни, часове, минути и секунди.
ExpiresActive OnExpiresByType изображение/jpg "достъп плюс 1 година"ExpiresByType изображение/jpeg "достъп плюс 1 година"ExpiresByType изображение/gif "достъп плюс 1 година"ExpiresByType изображение/png "достъп плюс 1 година"ExpiresByType text/css "достъп плюс 1 месец "ExpiresByType application/pdf "достъп плюс 1 месец"ExpiresByType text/x-javascript "достъп плюс 1 месец"ExpiresByType application/x-shockwave-flash "достъп плюс 1 месец"ExpiresByType изображение/x-icon "достъп плюс 1 година"ExpiresDefault "достъп плюс 2 дни" Ограничете размера на файла за качванеЗа да попречите на потребителите да качват масивни, изчерпващи ресурси файлове, ограничете размера на файла за качване с помощта на .htaccess. Въведете ограничението за размер в байтове.
LimitRequestBody 1048576Свързани: Ускоряване на WordPress с memcached и W3 Total Cache
Ето още няколко полезни неща, които можете да правите с .htaccess:
Промяна на индексната страница по подразбиранеПо подразбиране вашият сървър ще се опита да покаже index.htm, след това index.html, след това index.php и след това default.htm като първа страница на вашия уебсайт. Можете да отмените това, за да зададете индексна страница по подразбиране, както следва (заменете first.html със страницата, която искате да се показва):
#Set default index pageDirectoryIndex first.htmlМожете също така да добавите цял списък тук, през който сървърът ще премине, докато намери такъв, който може да обслужи.
#Set default index pagesDirectoryIndex index.php index.htm index.html home.htmlПромяна на часовата зона на сървъраЗадайте часовата зона на вашия сървър на всичко, което желаете. Кодът по-долу настройва сървъра на нюйоркско време. Тук се намира удобен списък с часови зони.
#Set server time zoneSetEnv TZ America/New_YorkCustom съобщения за грешка и странициМного е лесно да промените обработката на грешки с помощта на директивата ErrorDocument. Можете да посочите съобщение или да пренасочите към файл. По-долу ще се покаже страница с име 404.html, когато бъде изведена грешка „страницата не е намерена“:
ErrorDocument 404 /404.htmlМожете също така директно да използвате текст, като този (обърнете внимание, че съобщението е оградено в кавички):
ErrorDocument 404 „Ами сега, тази страница не беше намерена. Записахме грешката и ще я разгледаме.”
Можете също да добавите редове за други кодове за грешка на сървъра. Ето още няколко примера:
ErrorDocument 403 „Съжаляваме, нямате разрешение за достъп до това.“ ErrorDocument 404 /404.phpErrorDocument 500 „Ами сега! Нашият сървър откри грешка. Опитайте отново по-късно.“Списък с кодове за грешка на сървъра може да бъде намерен тук.
Примерите по-горе обхващат най-честите употреби на .htaccess, но има и повече. Ето някои допълнителни .htaccess измамни листове от цялата мрежа:
Въпреки че .htaccess предлага мощен и сравнително лесен начин за взаимодействие с Apache, имайте предвид, че някои от тези промени могат да бъдат извършени и чрез интерфейса на cPanel. В тези случаи маршрутът, който изберете, е въпрос на лични предпочитания.
Забавлявайте се и не забравяйте да архивирате оригиналния си .htaccess файл за всеки случай.
Ние създадохме The Hub от GoDaddy Pro, за да ви спестим време. Много време. Нашите членове съобщават, че спестяват средно три часа всеки месец за всеки клиентски уебсайт, който поддържат. Готови ли сте да върнете това време назад?
Регистрирайте се безплатно
Изображение от: Кристин Хюм на Unsplash
PREV: Как да коригирам грешката „Недостъпен хост на местоназначението“?
NEXT: Как да промените версията на Minecraft Server - Apex хостинг