Stäng åtkomst till htaccess-sidan. exempel på htaccess

Stäng åtkomst till htaccess-sidan. exempel på htaccess

.htaccess-filen är en av de filer som varje webbplatsadministratör bör känna till och förstå. På grundläggande nivå den styr åtkomsten till webbplatsmappar. Men det finns många fler uppgifter som htaccess kan lösa åt dig.

1. Hantera åtkomst till filer och kataloger

Lösenordsskydd är en aspekt av saken, men ibland är det nödvändigt att helt blockera användarens möjlighet att komma åt vissa filer eller kataloger. Sådana uppgifter förekommer vanligtvis för systemmappar, som inkluderar . Applikationen måste ha åtkomst till dem, och användaren förlorar alla privilegier.

För att lösa problemet, lägg till följande kod i .htaccess-filen och spara den i önskad katalog:

Men ett sådant drag blockerar åtkomsten för alla, inklusive dig. För att ge dig själv tillgång måste du ange din IP-adress. Här är koden:

Beställ neka, tillåt neka från alla tillåt från xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx är din IP-adress. Om du ersätter de tre sista siffrorna med t.ex. 0/12, kommer intervallet för IP-adresser i samma nätverk att indikeras. Men detta tillvägagångssätt kan leda till problem, så det är bättre att specificera listan över IP-adresser separat.

Om du behöver blockera en specifik fil, inklusive .htaccess själv, använd följande kod:

beställa tillåta, neka förneka från alla

På samma sätt, om du behöver tillåta åtkomst från specifika IP-adresser, lista dem med tillåt från .

Om du behöver blockera åtkomst till vissa typer av filer, använd följande kod:

Beställ Tillåt, Neka neka från alla

2. Inaktivera katalogbläddring

För att inaktivera visning av innehållet i en katalog, använd följande kod:

Alternativ All-index

Men om du av någon anledning behöver tillåta katalogbläddring, använd följande kod:

Alternativ Alla + Index

3. Snabba upp nedladdningarna med filkomprimering

Du kan komprimera vilka filer som helst, inte bara bilder. Till exempel att komprimera HTML-filer använd följande kod:

AddOutputFilterByType DEFLATE text/html

Och för textkomprimering:

AddOutputFilterByType DEFLATE text/vanlig

Kan även komprimeras JavaScript-filer eller definiera flera filtyper för arkivering:

AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml

Alternativt kan du komprimera alla HTML-, JavaScript-, CSS- och andra filer med GZIP:

mod_gzip_on Ja mod_gzip_dechunk Ja mod_gzip_item_include fil \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include hanterare ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime- ^application_include mime- ^application_mime- ^application_mime- ^application image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Skydda webbplatsen från hotlinking

Om du vill förhindra att bilder hotlänkas från din webbplats, lägg till följande rader i din .htaccess-fil:

RewriteEngine på RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.ru RewriteRule \.(jpg|jpeg|png|gif)$ -

Byt bara ut yourdomain.ru med ditt domännamn.

5. Blockera användare som omdirigeras från en specifik domän

Om du inte välkomnar användare av en viss domän kan du bli avstängd från din webbplats. Till exempel, om din webbplats finns på listan där trafik inte är önskvärd (till exempel pornografiska webbplatser, nynazistiska resurser etc.), kan du blockera den med hjälp av 403-sidan (åtkomst nekad). Mod_rewrite måste vara aktiverat (vanligtvis aktiverat). Lägger till kod:

RewriteEngine på RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]

Du måste ersätta bannedurl1.com och bannedurl2.com med domännamn från din svarta lista. Flaggan indikerar att domännamnet inte är skiftlägeskänsligt, och flaggan [F] avgör åtgärden - i vårt exempel visar en 403-sida. Om du behöver förbjuda flera webbplatser, använd flaggan för varje domän, inklusive den sista. . Endast flaggan kan användas för att förbjuda endast en domän.

6. Blockera förfrågningar från vissa agenter

Om din logg innehåller poster om handlingar av vissa användaragenter (robotar eller spindlar) som du inte gillar, kan du lägga till några rader i .htaccess-filen och förhindra sådana agenter från att komma åt din webbplats:

RewriteEngine På RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "_=badbot_3" från bad envuser Deny

7. Filcachelagring

En annan metod för att påskynda laddningen av din webbplats är filcache. Här är vad som behöver läggas till i .htaccess-filen för att aktivera cachning:

Header set Cache-Control "max-age=2592000"

Du kan lägga till filtyper (eller ta bort några av dem) till listan i exemplet. Du kan också använda max-age för att ange hur lång tid i sekunder för att lagra dina filer i cachen.

8. Inaktivera cachelagring för vissa filtyper

Om du inte behöver cachelagra vissa typer av filer kan du helt enkelt lämna dem utanför listan. Men ibland kan filer cachelagras även om du inte deklarerade dem i listan. I sådana fall kan du inaktivera cachelagring endast för dessa typer av filer. I de flesta fall vill du inaktivera cachelagring för dynamiska filer som skript. Här är koden:

Rubrik avaktiverad Cache-Control

Lägg bara till filtyper som inte behöver cachelagras till listan.

9. Hoppa över nedladdningsdialogrutan

Som standard, när du laddar ner en fil från en webbserver, visas en dialogruta som ber dig att vidta åtgärder på filen (spara eller öppna). Den här dialogrutan är mycket irriterande när du laddar upp stora mediefiler eller PDF-dokument. Om filerna laddas upp till din server för att användaren ska kunna ladda ner dem, kan du omedelbart påbörja processen. Du måste lägga in följande rader i .htaccess-filen:

AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3

10. Byt namn på .htaccess-filen

Av vissa skäl, vanligtvis säkerhetsrelaterade, kan det vara nödvändigt att byta namn på .htaccess-filen. Vilket är väldigt lätt att göra. Teoretiskt sett bör inte byta namn på .htaccess-filen orsaka problem med att köra applikationer på din server, men om de inträffar behöver du bara återställa det ursprungliga namnet.

AccessFileName htac.cess

Du behöver också uppdatera alla förekomster i själva filen och där .htaccess nämns, annars blir det en hel del fel.

11. Ändra standardindexsidan

Om du behöver att indexsidan ska skilja sig från standardsidan, index.html , index.php , index.htm och så vidare, så är den här uppgiften lätt att lösa. Här är vad som behöver läggas till i .htaccess-filen:

DirectoryIndex minsida.html

Ersätt mypage.html med webbadressen till sidan du vill ha.

12. Omdirigera till säker https-anslutning

Om du använder https och vill att alla användare ska omdirigeras till det, kommer följande kod att hjälpa dig:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Filstorleksgräns för PHP-uppladdning, maximal förfrågningsstorlek och maximal körningstid för skript

htaccess låter dig ställa in några värden som påverkar PHP-applikationer. Om du till exempel behöver begränsa PHP-uppladdningar för att spara värdutrymme, använd följande kod:

php_value upload_max_filesize 15M

Naturligtvis kan du ställa in det värde du vill, i vårt exempel är 15M (MB) inte fast. Du kan också begränsa den maximala begäran om uppladdning i PHP:

php_value post_max_size 10M

Ändra 10M till det värde du behöver.

Om du inte vill att skriptet ska köras för alltid kan du begränsa dess körtid:

php_value max_execution_time 240

240 - antalet sekunder innan skriptet avbryts.

Om du vill begränsa tiden för skriptet att analysera de angivna data, använd följande rad:

php_value max_input_time 180

14. Maskering av filtyper

Ibland behöver du dölja filtyper på servern för användaren. Ett sätt att lösa problemet är att dölja dem. Du kan till exempel göra detta. att alla filer kommer att se ut som HTML eller PHP:

ForceType application/x-httpd-php ForceType application/x-httpd-php

Slutsats

Det finns många fler uppgifter som .htaccess kan lösa. Du kan till exempel ställa in automatisk översättning av webbplatssidor, eller en tidszon, eller ta bort www webbadresser, och mycket mer. Men innan du börjar experimentera med .htaccess bör du alltid göra det säkerhetskopiering original så att du kan återgå till originalkoden.

Varje webbutvecklare känner till syftet med .htaccess-filen. På en grundläggande nivå låter den dig kontrollera åtkomsten till webbplatskataloger. Men genom att lägga till olika ytterligare kodavsnitt till den kan många andra intressanta saker göras med den.

Om du behöver grundläggande information om syftet given fil, då kan du få en introduktion till .htaccess från vår artikel ( Jag översatte inte den här artikeln, eftersom det finns grunder, det finns tillräckligt med dem i det rysktalande segmentet av webben, men om intresse visas, kan det också översättas för att komplettera bilden - ca. översättare), där alla aspekter av dess tillämpning avslöjas tillräckligt detaljerat.

Så, användbara exempel på användning. htaccess:

1. Hantera åtkomst till filer och kataloger
Lösenordsskydd är en sak, men ibland kanske du vill helt blockera användare från att komma åt en viss fil eller mapp. Detta syftar vanligtvis på systemmappar, som inkluderar, vilka applikationer ska ha åtkomst till men inte användare.

För att göra detta, placera given kod att arkivera. htaccess och spara den i katalogen du nekar åtkomst till:

Förneka från alla
Kom dock ihåg att åtkomst kommer att blockeras för alla användare, inklusive dig. Du kan öppna åtkomst för en specifik användare genom att ange dennes IP-adress. Här är koden du behöver för detta:

Beställ neka, tillåt neka från alla tillåt från xxx.xxx.xxx.xxx
där xxx. xxx. xxx. xxx är din IP. Du kan ersätta de tre sista siffrorna för att ställa in de tillåtna intervallen för IP-adresser. Till exempel, genom att skriva "0/12" istället, kommer du att ange ett intervall av IP-adresser för ett nätverk, vilket kommer att spara dig från att behöva ange alla tillåtna IP-adresser separat i listan.

Om du vill blockera åtkomst till en specifik fil, inklusive sig själv. htaccess, använd följande kodavsnitt:

beställa tillåta, neka förneka från alla
Om du vill ange specifika IP-adresser som ska nekas åtkomst, lista dem med tillåt från.

Om du vill blockera åtkomst till filer av en viss typ, använd denna kod:

Beställ Tillåt, Neka neka från alla

2. Förbud mot att bläddra i kataloger
För att förhindra surfning på webbplatskatalogen, lägg till följande kod i .htaccess:

Alternativ All-index
Om du av någon anledning vill tillåta visning av alla kataloger, använd koden:

Alternativ Alla + Index

3. Snabba upp nedladdningstiderna genom att komprimera filer
Du kan komprimera filer av vilken typ som helst. Till exempel, för att komprimera HTML-filer, lägg till följande kod:

AddOutputFilterByType DEFLATE text/html
För kompression textfiler använda sig av:

AddOutputFilterByType DEFLATE text/vanlig
Du kan också komprimera JavaScript eller aktivera komprimering för andra olika typer filer med kommandon:

AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml
Dessutom kan du komprimera alla dina JavaScript-, HTML- och CSS-filer med GZIP. För att göra detta, använd följande kod:

mod_gzip_on Ja mod_gzip_dechunk Ja mod_gzip_item_include fil \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include hanterare ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime- ^application_include mime- ^application_mime- ^application_mime- ^application image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Skydda webbplatsen från att infoga bilder från andra resurser
Om du vill förhindra att länkar till bilder från tredjepartsresurser läggs till, lägg till följande kod i .htaccess-filen:

RewriteEngine på RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Glöm inte att ersätta yourdomain.com med ditt domännamn.

5. Blockera besökare från en specifik domän
Om du inte vill se användare från en specifik domän på din webbplats kan du neka åtkomst till dem. Till exempel kan användare från oönskade resurser (vuxenwebbplatser, hackersajter, etc.) omdirigeras till en 403 Forbidden-sida. För att göra detta måste mod_rewrite vara aktiverat, även om det vanligtvis är aktiverat som standard. Lägg till i .htaccess-kod:

RewriteEngine på RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]
Du måste ersätta bannedurl1.com och bannedurl2.com med de domäner du vill svartlista. Du kan använda flaggan för att indikera att ingången Domän namn fallet okänslig. Flaggan [F] indikerar typen av åtgärd, i det här fallet, som visar ett 403 Förbjudet fel. Om du vill förbjuda flera webbplatser, använd flaggor för varje domän, om du vill förbjuda en enda domän, använd endast .

6. Blockera förfrågningar från vissa webbläsare
Om dina loggfiler innehåller poster om att besöka specifika webbläsare (som bots eller spindlar som imiterar webbläsaren), kan du förhindra dem från att komma åt din webbplats genom att lägga till några rader till. htaccess:

RewriteEngine På RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "_=badbot_3" från bad envuser Deny
Ersätt badbot1, badbot1, etc. med namnen på botarna i din logg. Detta förhindrar tredjepartsprogram från att komma åt din webbplats.

7. Filcachelagring
Filcache är ett annat sätt att få din webbplats att laddas snabbare. Här är vad du behöver skriva i .htaccess:

Header set Cache-Control "max-age=2592000"
Du kan lägga till fler typer filer (eller ta bort några av dem) i de som listas i detta exempel lista över filer. Du kan också ange hur länge filer cachelagras (i sekunder) med variabeln max-age.

8. Inaktivera cachning för olika typer filer
Om du inte vill cachelagra vissa typer av filer kan du välja att inte inkludera dem i listan. Men ibland kan filer lagras i cachen även utan att vara uttryckligen listade i listan, i vilket fall du kan inaktivera cachelagring för dem individuellt. Oftast måste du inaktivera cachelagring för dynamiska filer, till exempel skript. Ett exempel på koden som krävs för detta:
Rubrik avaktiverad Cache-Control
Ange bara de filtyper som du vill inaktivera cachelagring för.
9. Förbigå nedladdningsdialogrutan
Som standard, när du försöker ladda ner en fil från en webbserver, visas en dialogruta som frågar dig om du vill spara filen eller öppna den. Den här dialogrutan är särskilt irriterande när du laddar ner stora media- eller PDF-filer. Om filerna du laddar upp till servern endast är för nedladdning kan du göra livet enklare för användarna genom att ställa in nedladdning som standardåtgärd. Lägg till. htaccess följande:

AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3

10. Byt namn på .htaccess-filen
Om du av någon anledning vill byta namn på .htaccess-filen kan du göra det. I teorin bör inte byta namn på .htaccess-filen orsaka några problem med applikationer som körs på din server, men om du upptäcker skriptfel efter att ha bytt namn på filen, byt bara namn på den igen.

AccessFileName htac.cess
Du måste också uppdatera alla poster som nämner .htaccess-filen, annars får du många fel.

11. Byte startsida webbplats
Om du vill installera hemsida annat än standarden (index.html, index.php, index.htm, etc.), lägg till följande kod till din .htaccess-fil:

DirectoryIndex minsida.html
Ersätt mypage.html med webbadressen till sidan du vill använda som startsida.

12. Omdirigera till säker HTTPS-anslutning
Om du använder HTTPS och vill omdirigera användare till säkra sidor på din webbplats, lägg till följande rader i din .htaccess-fil:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Begränsning av den maximala storleken på uppladdade filer i PHP, den maximala storleken på överförda data, den maximala exekveringstiden för skript, etc.
.htaccess låter dig ställa in några värden som direkt påverkar driften av PHP-applikationer. Om du till exempel vill sätta en gräns för storleken på uppladdade filer i PHP, för att inte täppa till värdskapet med stora filer:

php_value upload_max_filesize 15M
Du kan ställa in vilket värde som helst, i exemplet är filstorleken begränsad till 15M (MB). Dessutom kan du begränsa den maximala storleken på data som överförs under laddning i PHP:

php_value post_max_size 10M
Du kan ersätta 10M med vilket värde du vill. Om du inte behöver köra skript hela tiden, kan du begränsa deras körningstid med raden:

php_value max_execution_time 240
240 - körningstid (i sekunder), varefter skriptet kommer att stoppas, du kan ändra detta värde till något annat. Slutligen, om du vill begränsa skriptets tid för att analysera rådata, använd följande kod:

php_value max_input_time 180
Ställ in 180 till vilken tid du vill (i sekunder).

14. Dölja filtyper
Ibland vill du att användarna inte ska veta vilka typer av filer som finns på din webbplats. Ett sätt att dölja denna information är att få alla dina filer att visas som HTML- eller PHP-filer:

ForceType application/x-httpd-php ForceType application/x-httpd-php
Och detta är bara en del av vad .htaccess kan göra, men i allmänhet låter det dig göra mycket mer. Du kan till exempel ställa in din webbplats för att översätta automatiskt, ställa in serverns tidszon, ta bort WWW från webbadresser eller använda snygga katalogvyer och så vidare. Men i alla fall, innan du börjar experimentera med .htaccess-filen, behåll alltid en säkerhetskopia av den ursprungliga .htaccess så att om problem uppstår kan du snabbt återställa webbplatsen att fungera.

htaccess-fil - installations- och användningsexempel - 3,7 av 5 baserat på 20 röster

Med htaccess-filen kan du konfigurera och åsidosätta inställningarna för Apache-webbservern och liknande servrar. Med den kan du ställa in behörigheter och parametrar för servern att fungera med vissa värdanvändare och till och med på separata mappar en specifik användare.

Det används oftast för att skapa 301-omdirigeringar från gamla webbadresser till nya, ommappning av filtyper, kontrollerad katalogåtkomst och mer. Tack vare htaccess-filen behöver du inte komma åt huvudkonfigurationsfilen och påverka driften av servern som helhet.

Vad är en htaccess-fil och vad används den till

Som nämnts används htaccess för att ställa in vissa alternativ för Apache och andra servrar. Trots den stora och märkliga förlängningen görs anpassning av .htaccess-filen genom att öppna och ändra dess innehåll med valfri textredigerare.

Htaccess-filen uppfanns specifikt för att tillåta varje användare att ändra serverkonfigurationen, vilket endast påverkar deras egen webbplats och inte hela servern. Alla vet att de huvudsakliga Apache-konfigurationsdirektiven finns i filen httpd.conf. Men de flesta användare, och om vi pratar om virtuell värd, så har alla användare inte möjlighet att komma åt det och rättigheterna att ändra det, eftersom denna åtgärd kommer att gälla för alla.

En htaccess-fil kallas ofta för en dynamisk fil. Detta beror på att servern måste komma åt den varje gång den behöver fråga den innehållande katalogen. Kanske är detta en betydande fördel, eftersom ändringar som görs av användaren i filen omedelbart träder i kraft utan att behöva starta om servern. Om ändringar görs i huvudkonfigurationsfilen är omstart av servern en förutsättning för att de ska träda i kraft.

Naturligtvis är inte allt så smidigt som vi skulle vilja, eftersom användningen av htaccess påverkar serverns prestanda något, dock i fallet med stängd åtkomst till huvudkonfigurationsfilen, den här vägenär den enklaste och mest bekväma metoden för att ändra parametrar.

Några funktioner för att använda htaccess:

1. Det kan omdefinieras Ett stort antal direktiv i huvudfilen httpd.confg

2. Om du placerar htaccess-filen i rotkatalogen kommer den att spridas till hela webbplatsen (de enda undantagen är de kataloger där den egna konfigurationsfilen finns och kataloger som finns under i trädstrukturen)

3. Du kan placera htaccess-filen i vilken katalog som helst, och dess direktiv kommer att tillämpas på alla underkataloger

4. Htaccess är inte tillgängligt för användaren att se från webbläsaren, eftersom det tillhör kategorin "system".

Alltså med htaccess användaren får flexibiliteten att sätta upp sin egen server och kan använda följande alternativ:

  • Enkla omdirigeringsdirektiv (omdirigering);
  • Komplexa omdirigeringsdirektiv (mod_rewrite);
  • Indexsidor;
  • Felbearbetning;
  • Kodningsdefinition;
  • Hantera åtkomst till kataloger och filer;
  • Katalog lösenordsskydd;
  • PHP-alternativ.

Exempel på den vanligaste användningen av htaccess-filen

Nu ska vi titta på de vanligaste arbetsalternativen för att använda htaccess för att anpassa en webbplats.

Innan vi börjar, var uppmärksam på följande punkter:

2. Att skapa ny fil med htaccess-tillägget måste du öppna anteckningar eller något annat textredigerare, skriv koden, spara filen, ange tillägget .htaccess (prick framför). Sedan återstår att slänga den i katalogen som den var avsedd för.

3. Syntax.htaccess

Sökvägar till filer (kataloger) anges med början från serverroten.

DirectoryIndex /home/st5155/www/data/home.html

Om du konfigurerar htaccess-filen som finns i webbplatsens rotmapp, anges sökvägarna från roten till denna mapp.

DirectoryIndex /home.html

Domäner skrivs med protokollet http:// eller https://

Omdirigera / http://your-sait.ru

Filen har namnet "dot" htaccess.

Använd #-tecknet för att skapa en kommenterad rad.

Det är mest bekvämt att redigera filen med AkelPad-redigeraren som ingår i Total befälhavare, välj bara det och tryck på F4.

Enkel omdirigering - Omdirigeringsdirektiv

1. Omdirigering till nya webbplatssidor

Om sidor på webbplatsen flyttades till nya adresser, kommer användaren eller sökroboten, efter att ha kontaktat den gamla adressen, förmodligen inte att se dem. Att limma den gamla och ny adress sidor kan tillämpa en enkel 301-omdirigering. För att göra detta måste följande kod skrivas i htaccess-konfigurationsfilen:

Omdirigera 301 /staraya.html http://vash-sait.ru/novaya.html

2. Få flöden till ett vanligt format

Tidigare användes olika flödesformat, såsom: Atom, RSS, Rdf. Idag är RSS den främsta och mest populära bland dem, så man kan se till att andra format omdirigeras till ett. Detta använder också htaccess-filen och följande kod:

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://your-sait.ru/feed/

Komplex omdirigering - RewriteRule-direktiv

1. Omdirigera en domän från www till icke-www.

Mycket ofta måste man använda en 301-omdirigering i htaccess för att limma domäner med www och utan www. Tidigare sökmotorer ansåg att sådana adresser var helt olika och såg på dem som olika webbplatser. Idag är uppgiften att limma tilldelad sökroboten, men det kommer aldrig att vara överflödigt att ange rätt spegel. Dessutom kommer de själva inte att ha någon förvirring.

Alternativ +FöljSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

2. Omdirigerar besökare till olika sidor beroende på besökarens IP-adress.

I htaccess är det möjligt att ange vilken sida användaren med en specifik IP-adress ska omdirigeras till. Till exempel att omdirigera besökare med ip-adress 183.11.101.1 till sidan kontakt.html

SetEnvIf REMOTE_ADDR 183.11.101.1 REDIR="redir" RewriteCond %(REDIR) redir RewriteRule ^/$ /kontakt.html

3. Omdirigera vid uppdatering av en webbresurs

Under testning eller uppdatering av resursen kommer användaren inte att kunna komma till webbplatsen. Det vore dock fel att inte varna honom för detta. I .htaccess kan du skriva kod som omdirigerar användaren till en informationssida som beskriver problemets kärna (orsaker, timing, etc.).

RewriteEngine på RewriteCond %(REQUEST_URI) !/info.html$ RewriteCond %(REMOTE_HOST) !^14\.124\.354\.80 RewriteRule $ http://your-sait.ru/info.html

Där 14.124.354.80 - ersätt med din IP-adress.

4. Hotlink-skydd

Det är ingen hemlighet att det i dag stjäls mer och mer information från webbplatser. Ibland bara text, och ibland tillsammans med grafiska bilder. Och varje gång en besökare kommer till en tredjepartswebbplats kommer dessa bilder att laddas från ditt webbhotell, vilket skapar en belastning och bränner trafik. För att förhindra detta, lägg till följande kod:

RewriteEngine On RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://([ -a-z0-9] \.)?your-sait\.ru RewriteRule \.(gif|jpe?g| png)$ -

I exemplet ovan kommer ett 403-fel att visas på webbplatsen som laddar bilden, om du vill att en specifik bild ska visas istället för bilden, ersätt den sista raden med följande:

RewriteRule \.(jpg|png|gif)$ http://your-sait.ru/images/imageinfo.jpg

5. Omdirigera till en säker https-anslutning

I .htaccess kan du konfigurera en omdirigering till en säker https-anslutning så att alla användare endast arbetar genom detta protokoll, vilket garanterar säkerheten och tillförlitligheten för dataöverföring mellan servern och klienten.

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

6. Automatiskt utbyte snedstreck i slutet av adressen.

Det finns mycket vanliga situationer när URL:en slutar med namnet på katalogen: http://your-sait.ru/images/raznoe

Apache kan fixa felet på egen hand och göra en 301-omdirigering genom att lägga till det saknade snedstrecket i länken. Således kommer användaren inte att känna någon skillnad och kommer att få den önskade sidan som svar. Men det kommer att ta dubbelt så lång tid att genomföra en sådan åtgärd. Följande kod kommer alltid att lägga till / i slutet av adressen.

RewriteCond %(REQUEST_URI) /+[^\.]+$ RewriteRule ^(.+[^/])$ %(REQUEST_URI)/

7. Blockera användare som kommer från en specifik webbplats

Om webbplatsägaren inte vill att hans resurs ska besökas av användare som har loggat in från en specifik domän och de behöver blockera åtkomst, är htaccess också redo att hjälpa till. Du kan blockera trafik från vissa webbplatser med hjälp av en 403-sida eller "neka åtkomst". Användbar denna inställning när länkar från webbplatser med förbjudet innehåll dök upp på din webbplats och trafik går till din webbplats via dem.

RewriteEngine på RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteRule .* - [F]

Indexsidor - DirectoryIndex-direktivet

1. Ändra indexsidan som laddas som standard

Vanligtvis är standardindexsidorna index.htm, index.php eller index.html, när man kommer åt webbplatskatalogen genomsöks dessa filer omedelbart. Men om det behövs kan du omdefiniera indexsidan till vilken som helst annan. En liknande uppgift löses också med hjälp av filen htaccess.

DirectoryIndex minsida.html

Det är möjligt att ange två eller flera sidor. Det bör beaktas att de kommer att sökas efter i den ordning som de är listade i konfigurationsfilen efter DirectoryIndex-direktivet.

DirectoryIndex index.shtml index3.php index.html index.htm

Felhantering - ErrorDocument-direktivet

1. Anpassad felsida

Trots att många sajter fortfarande använder den vanliga 404-felsidan är det osannolikt att det kommer att tillfredsställa användaren som inte fick det förväntade resultatet och istället ser information som är obegriplig för honom. Det är nödvändigt att föreslå en sida som matchar huvudstilen, som kommer att visa mer detaljerad information om skälen till att begäran misslyckats. För att göra detta kan du i htaccess ange vilken fil som ska laddas istället för standard 404-felsidan.

ErrorDocument 404 "/404.html"

2. Skapa egna felsidor

För den som har tröttnat på de vanliga sidorna som visar en beskrivning av de fel som uppstått på sajten finns möjlighet att använda sina egna tomrum. Du behöver bara skapa flera *.html-filer själv, med det nödvändiga innehållet, och göra en post i htaccess-filen.

ErrorDocument 401 /errors401.html ErrorDocument 403 /errors403.html ErrorDocument 404 /errors404.html ErrorDocument 500 /errors505.html

Så att du vet vad du ska lägga på var och en av felsidorna kommer vi kort att beskriva deras betydelser.

  • 401 - Auktorisering krävs
  • 403 - Användare inte autentiserad, åtkomst nekad (förbjuden)
  • 404 - Det begärda dokumentet (fil, katalog) hittades inte (hittades inte)
  • 500 - Internt serverfel - Skriptfel eller .htaccess-filsyntaxfel - (internt serverfel)

Kodningsdefinition

1. Bestämma kodningen i vilken servern "ger" filer

För att förhindra att användaren visar tecken som är obegripliga för honom, från vilka det inte går att läsa orden, måste korrekt kodning anges. Även om det inte finns någon tagg< Мета http-equiv = "Content-Type">texten på sidan kommer alltid att vara korrekt och htaccess-filen hjälper till med detta igen.

AddDefaultCharset UTF-8

2. Bestämma kodningen för uppladdade filer

En liknande situation kan uppstå när en användare laddar upp en fil till servern och dess innehåll kan kodas om. För att kunna använda den kodning som krävs måste htaccess innehålla en kod som anger att alla uppladdade filer måste öppnas med UTF-8-kodning.

CharsetSourceEnc UTF-8

Hantera åtkomst till kataloger och filer

1. Neka åtkomst till alla filer

Det enklaste sättet att förhindra visning av en fil är att ange ett lösenord, men det räcker inte alltid. I vissa fall bör användaren inte ha rättigheter att se några filer eller kataloger (till exempel måste du låsa systemkataloger, vilket kan försämra serverns prestanda). htaccess-filen innehåller en bit kod som fråntar alla användarrättigheter.

2. Tillåt åtkomst från specifik IP

Varje webbutvecklare känner till syftet med .htaccess-filen. På en grundläggande nivå låter den dig kontrollera åtkomsten till webbplatskataloger. Men genom att lägga till olika ytterligare kodavsnitt till den kan många andra intressanta saker göras med den.

Om du behöver grundläggande information om syftet med den här filen kan du få en introduktion till .htaccess från vår artikel ( Jag översatte inte den här artikeln, eftersom det finns grunder, det finns tillräckligt med dem i det rysktalande segmentet av webben, men om intresse visas, kan det också översättas för att komplettera bilden - ca. översättare), där alla aspekter av dess tillämpning avslöjas tillräckligt detaljerat.

Så, användbara exempel på användning. htaccess:

1. Hantera åtkomst till filer och kataloger
Lösenordsskydd är en sak, men ibland kanske du vill helt blockera användare från att komma åt en viss fil eller mapp. Detta hänvisar vanligtvis till systemmappar, som inkluderar, som applikationer ska ha tillgång till, men inte användare.

För att göra detta, lägg den här koden i en fil. htaccess och spara den i katalogen du nekar åtkomst till:

Förneka från alla
Kom dock ihåg att åtkomst kommer att blockeras för alla användare, inklusive dig. Du kan öppna åtkomst för en specifik användare genom att ange dennes IP-adress. Här är koden du behöver för detta:

Beställ neka, tillåt neka från alla tillåt från xxx.xxx.xxx.xxx
där xxx. xxx. xxx. xxx är din IP. Du kan ersätta de tre sista siffrorna för att ställa in de tillåtna intervallen för IP-adresser. Till exempel, genom att skriva "0/12" istället, kommer du att ange ett intervall av IP-adresser för ett nätverk, vilket kommer att spara dig från att behöva ange alla tillåtna IP-adresser separat i listan.

Om du vill blockera åtkomst till en specifik fil, inklusive sig själv. htaccess, använd följande kodavsnitt:

beställa tillåta, neka förneka från alla
Om du vill ange specifika IP-adresser som ska nekas åtkomst, lista dem med tillåt från.

Om du vill blockera åtkomst till filer av en viss typ, använd denna kod:

Beställ Tillåt, Neka neka från alla

2. Förbud mot att bläddra i kataloger
För att förhindra surfning på webbplatskatalogen, lägg till följande kod i .htaccess:

Alternativ All-index
Om du av någon anledning vill tillåta visning av alla kataloger, använd koden:

Alternativ Alla + Index

3. Snabba upp nedladdningstiderna genom att komprimera filer
Du kan komprimera filer av vilken typ som helst. Till exempel, för att komprimera HTML-filer, lägg till följande kod:

AddOutputFilterByType DEFLATE text/html
För att komprimera textfiler använd:

AddOutputFilterByType DEFLATE text/vanlig
Du kan också komprimera JavaScript eller aktivera komprimering för olika andra filtyper med kommandona:

AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml
Dessutom kan du komprimera alla dina JavaScript-, HTML- och CSS-filer med GZIP. För att göra detta, använd följande kod:

mod_gzip_on Ja mod_gzip_dechunk Ja mod_gzip_item_include fil \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include hanterare ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime- ^application_include mime- ^application_mime- ^application_mime- ^application image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Skydda webbplatsen från att infoga bilder från andra resurser
Om du vill förhindra att länkar till bilder från tredjepartsresurser läggs till, lägg till följande kod i .htaccess-filen:

RewriteEngine på RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Glöm inte att ersätta yourdomain.com med ditt domännamn.

5. Blockera besökare från en specifik domän
Om du inte vill se användare från en specifik domän på din webbplats kan du neka åtkomst till dem. Till exempel kan användare från oönskade resurser (vuxenwebbplatser, hackersajter, etc.) omdirigeras till en 403 Forbidden-sida. För att göra detta måste mod_rewrite vara aktiverat, även om det vanligtvis är aktiverat som standard. Lägg till i .htaccess-kod:

RewriteEngine på RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]
Du måste ersätta bannedurl1.com och bannedurl2.com med de domäner du vill svartlista. Du kan använda flaggan för att indikera att det angivna domännamnet är skiftlägesokänsligt. Flaggan [F] indikerar typen av åtgärd, i det här fallet, som visar ett 403 Förbjudet fel. Om du vill förbjuda flera webbplatser, använd flaggor för varje domän, om du vill förbjuda en enda domän, använd endast .

6. Blockera förfrågningar från vissa webbläsare
Om dina loggfiler innehåller poster om att besöka specifika webbläsare (som bots eller spindlar som imiterar webbläsaren), kan du förhindra dem från att komma åt din webbplats genom att lägga till några rader till. htaccess:

RewriteEngine På RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "_=badbot_3" från bad envuser Deny
Ersätt badbot1, badbot1, etc. med namnen på botarna i din logg. Detta förhindrar tredjepartsprogram från att komma åt din webbplats.

7. Filcachelagring
Filcache är ett annat sätt att få din webbplats att laddas snabbare. Här är vad du behöver skriva i .htaccess:

Header set Cache-Control "max-age=2592000"
Du kan lägga till fler typer av filer (eller ta bort några av dem) från listan över filer i det här exemplet. Du kan också ange hur länge filer cachelagras (i sekunder) med variabeln max-age.

8. Inaktivera cachelagring för olika filtyper
Om du inte vill cachelagra vissa typer av filer kan du välja att inte inkludera dem i listan. Men ibland kan filer lagras i cachen även utan att vara uttryckligen listade i listan, i vilket fall du kan inaktivera cachelagring för dem individuellt. Oftast måste du inaktivera cachelagring för dynamiska filer, till exempel skript. Ett exempel på koden som krävs för detta:
Rubrik avaktiverad Cache-Control
Ange bara de filtyper som du vill inaktivera cachelagring för.
9. Förbigå nedladdningsdialogrutan
Som standard, när du försöker ladda ner en fil från en webbserver, visas en dialogruta som frågar dig om du vill spara filen eller öppna den. Den här dialogrutan är särskilt irriterande när du laddar ner stora media- eller PDF-filer. Om filerna du laddar upp till servern endast är för nedladdning kan du göra livet enklare för användarna genom att ställa in nedladdning som standardåtgärd. Lägg till. htaccess följande:

AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3

10. Byt namn på .htaccess-filen
Om du av någon anledning vill byta namn på .htaccess-filen kan du göra det. I teorin bör inte byta namn på .htaccess-filen orsaka några problem med applikationer som körs på din server, men om du upptäcker skriptfel efter att ha bytt namn på filen, byt bara namn på den igen.

AccessFileName htac.cess
Du måste också uppdatera alla poster som nämner .htaccess-filen, annars får du många fel.

11. Ersätter startsidan för webbplatsen
Om du vill ställa in en startsida som inte är standard (index.html, index.php, index.htm, etc.), lägg till följande kod till din .htaccess-fil:

DirectoryIndex minsida.html
Ersätt mypage.html med webbadressen till sidan du vill använda som startsida.

12. Omdirigera till säker HTTPS-anslutning
Om du använder HTTPS och vill omdirigera användare till säkra sidor på din webbplats, lägg till följande rader i din .htaccess-fil:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Begränsning av den maximala storleken på uppladdade filer i PHP, den maximala storleken på överförda data, den maximala exekveringstiden för skript, etc.
.htaccess låter dig ställa in några värden som direkt påverkar driften av PHP-applikationer. Om du till exempel vill sätta en gräns för storleken på uppladdade filer i PHP, för att inte täppa till värdskapet med stora filer:

php_value upload_max_filesize 15M
Du kan ställa in vilket värde som helst, i exemplet är filstorleken begränsad till 15M (MB). Dessutom kan du begränsa den maximala storleken på data som överförs under laddning i PHP:

php_value post_max_size 10M
Du kan ersätta 10M med vilket värde du vill. Om du inte behöver köra skript hela tiden, kan du begränsa deras körningstid med raden:

php_value max_execution_time 240
240 - körningstid (i sekunder), varefter skriptet kommer att stoppas, du kan ändra detta värde till något annat. Slutligen, om du vill begränsa skriptets tid för att analysera rådata, använd följande kod:

php_value max_input_time 180
Ställ in 180 till vilken tid du vill (i sekunder).

14. Dölja filtyper
Ibland vill du att användarna inte ska veta vilka typer av filer som finns på din webbplats. Ett sätt att dölja denna information är att få alla dina filer att visas som HTML- eller PHP-filer:

ForceType application/x-httpd-php ForceType application/x-httpd-php
Och detta är bara en del av vad .htaccess kan göra, men i allmänhet låter det dig göra mycket mer. Du kan till exempel ställa in din webbplats för att översätta automatiskt, ställa in serverns tidszon, ta bort WWW från webbadresser eller använda snygga katalogvyer och så vidare. Men i alla fall, innan du börjar experimentera med .htaccess-filen, behåll alltid en säkerhetskopia av den ursprungliga .htaccess så att om problem uppstår kan du snabbt återställa webbplatsen att fungera.

Genom att skriva adressen i webbläsarfältet får du upp filer på din dator som webbläsaren visar. Webbservern hanterar vilka filer och hur den ska visa (skicka) till dig. Det finns två mest populära servrar: IIS och .

Som alla program har webbservern vissa inställningar. Men du, som Apache-användare, kan (och kommer troligen inte, om vi pratar om virtuell värd) ha rätt att ändra Apache-konfigurationen genom dess huvudfiler, som gäller för alla användare av denna server. Men du kan ändra vissa konfigurationsfiler som bara gäller din webbplats. En av dessa filer är .htaccess

Detta är Apache-webbserverns flexibla konfigurationsfil. "Flexibel" betyder att så fort du ändrar något i den här filen så träder ändringarna i kraft direkt. Med den kan du åsidosätta många direktiv från filen httpd.conf(denna fil är huvudfilen konfigurationsfil Apache-servern och dess åtgärder gäller helt för alla användare av denna kopia av Apache). I de fall du inte har tillgång till Apache-konfigurationsfilen (samma virtuell hosting), kommer den här filen att hjälpa dig.

Den här filen är inte tillgänglig för webbanvändaren från en webbläsare. Om fil. htaccess finns i serverns rotkatalog, då gäller dess åtgärd för hela servern, förutom de mappar där en annan fil finns. htaccess(och förutom alla mappar "under" denna mapp med den andra. htaccess).

Strukturen för dina kataloger på servern är som följer:

|-användare | | | -användare1 | | | -användare2 | |-data | | | -data1 | | | -data2 |

Kataloger användare1 Och användare2 kommer att kapslas i förhållande till katalogen användare. Om vi ​​lägger i en katalog www fil. htaccess, då kommer dess effekt automatiskt att tillämpas på kataloger användare1 Och användare2.

Till katalogen data lägg en annan fil. htaccess, jämfört med vad som finns i katalogen användare. Och för katalogerna data1 och data2 kommer .htaccess-filen som finns i data att fungera.