Htaccess gebruiken. Hoe maak en configureer ik een htaccess-bestand? Weiger de toegang tot alle bestanden met een specifieke extensie

We gebruiken Apache httpd als onze hoofdwebserver. Apache wordt gebruikt om de meeste webservers ter wereld te organiseren en is het populairste product in zijn klasse. Deze server beschikt over uitgebreide configuratiemogelijkheden, is zeer productief en ondersteunt alle bekende protocollen voor het draaien van webservers. Versies van populaire programmeertalen als Perl en PHP zijn speciaal voor Apache gemaakt, en deze server kan ook eenvoudig worden geïntegreerd met veelgebruikte DBMS'en (bijvoorbeeld MySQL).

De hoofdprojectwebsite bevindt zich op httpd.apache.org en de hoofddocumentatie voor versie 1.3.xx is beschikbaar op httpd.apache.org/docs/.

We bieden gebruikers de mogelijkheid om Apache onafhankelijk te configureren door de juiste richtlijnen in het . Op deze manier kunt u de meeste webserverconfiguratieproblemen in massahostingomgevingen oplossen.

Indexbestand

Een indexbestand of indexbestand is het bestand dat standaard wordt geopend wanneer een gebruiker via internet toegang krijgt tot een map, in plaats van een specifiek bestand. Uw bezoeker vraagt ​​bijvoorbeeld om het adres http://uw_domein/prijs/, waarbij prijs de naam van de catalogus is. Het indexbestand is het bestand dat aan de gebruiker wordt getoond wanneer hij een map opent zonder de naam van een specifiek bestand daarin op te geven.

De standaardindexbestanden zijn: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm of default.html.

Als u wilt dat er eerst een ander bestand wordt geopend, moet u de huidige waarden overschrijven. Lees hoe u dit doet.

Doel en gebruik van het .htaccess-bestand

Het .htaccess-bestand kan in de hoofdmap van de webserver worden geplaatst (direct onder de www-map). In dit geval zijn de richtlijnen van dergelijke .htaccess geldig op de hele webserver. Ook kan .htaccess zich in een specifieke submap van de server bevinden. Vervolgens ‘overschrijven’ de richtlijnen die in dit bestand zijn gespecificeerd de actie van de richtlijnen uit het ‘hoofd’-bestand, dat zich in de www-map of in een map op een hoger niveau bevindt. Dat wil zeggen dat het effect van richtlijnen van .htaccess van boven naar beneden wordt overgenomen, maar niet andersom. Wijzigingen in het bestand worden onmiddellijk van kracht. Dit komt doordat de informatie uit .htaccess elke keer dat de Apache-webserver wordt benaderd, opnieuw wordt gelezen.

.htaccess kan de meeste beschikbare richtlijnen voor een webserver bevatten. Opgemerkt moet worden dat richtlijnen die .htaccess niet vermelden in het Context-veld niet beschikbaar zijn voor gebruik in dit configuratiebestand. Als we de AddType-richtlijn als voorbeeld gebruiken, zien we dat het Context-veld een verwijzing naar .htaccess bevat, dus je kunt deze gebruiken:

Als het u niet is gelukt de vereiste richtlijn te gebruiken en u een fout hebt gezien nadat u de richtlijn aan .htaccess had toegevoegd, is het gebruik van de opdracht hoogstwaarschijnlijk verboden onder virtuele hostingomstandigheden. Schrijf naar de technische ondersteuning, wij zullen proberen u te helpen. Beschrijf het probleem gedetailleerd en geef aan welke doelen u met deze richtlijn wilt bereiken.

Firewall voor webapplicaties

Web Application Firewall (ModSecurity) is nodig om aanvallen op websites te detecteren en te voorkomen. De controle wordt uitgevoerd volgens een bepaald stel regels en als deze mislukt, wordt het verzoek aan de site afgewezen met een foutmelding (403 verboden).

In het geval van false positives is het mogelijk om regels via .htaccess uit te schakelen met behulp van de onderstaande opties:

  • SecRuleRemoveById - verwijder een regel op basis van ID
  • SecRuleRemoveByTag - verwijder een regel per tag.

In het foutenlogboek error.log kunt u bepalen welke regel moet worden uitgeschakeld

Voorbeeld van uitschakelen op ID:

SecRuleRemoveById 933100 933150

Voorbeelden van uitschakelen per tag:

SecRuleRemoveByTag "attack-injection-php" SecRuleRemoveByTag "CWAF" Codering overschrijven:

Standaard “verstuurt” de webserver alle HTML-documenten die op de server worden gehost in Windows-1251-codering. U kunt het type codering wijzigen waarin de webserver informatie in uw persoonlijke account “geeft”.

Om dit te doen, gaat u naar het gedeelte “Serviceboom” en selecteert u het domein waarvoor u het coderingstype moet wijzigen. Zoek vervolgens in de lijst met parameters de lijncodering (standaard) en klik op toevoegen, zoals weergegeven in de onderstaande afbeelding.

U kunt de codering ook wijzigen met behulp van het .htaccess-bestand. Om dit te doen, voegt u de regel eraan toe

AddType "text/html; charset=koi8-r" .html .htm .shtml

Na het ontvangen van dergelijke .htaccess zal de Apache-webserver een header naar de clientbrowser sturen die aangeeft dat het document koi8-r is gecodeerd.

Als uw bron HTML-documenten in verschillende coderingen bevat (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), moet u mogelijk de geforceerde uitvoer van headers met Windows-1251-codering uitschakelen. Om dit te doen, voegt u de volgende regel toe aan .htaccess:

AddDefaultCharset Uit

In dit geval moet de bijbehorende codering op elke html-pagina in de vorm van een tag worden geschreven

Voorbeeld: hoe u een map sluit met een wachtwoord

Eén van de standaardtaken die wordt opgelost door het gebruik van .htaccess is het beperken van de toegang tot een specifieke directory op de server. U moet bijvoorbeeld individuele bezoekers toegang geven tot een bepaalde directory en hen voorzien van een unieke login en wachtwoord.

In de map waartoe we de toegang met een wachtwoord willen beperken, maken we een .htaccess-bestand met de volgende richtlijnen:

AuthType Basis AuthName "Een of andere naam" AuthUserFile /home/uXXXXX /.htpasswd vereist geldige gebruiker

Het pad /home/uXXXXX/.htpasswd geeft het volledige pad naar het wachtwoordbestand op onze serverschijf aan. Als u bijvoorbeeld het .htpasswd-bestand (het bevat wachtwoorden) in uw thuismap plaatst, waar u naartoe gaat als u via FTP toegang krijgt tot de server, dan ziet het pad naar dit bestand er als volgt uit: /home/uXXXX/.htpasswd, waarbij uXXXXX de naam is van uw virtuele sites (bijvoorbeeld u12345).

In de AuthUserFile-richtlijn specificeren we het absolute pad naar het bestand met logins/wachtwoorden, dat we later zullen aanmaken. Als u het .htaccess-bestand op uw computer aanmaakt, en niet rechtstreeks op de server met behulp van een teksteditor, houd er dan rekening mee dat .htaccess strikt in tekstmodus (ASCII) via FTP moet worden overgedragen.

Maak een wachtwoordbestand. Het wachtwoordbestand moet regels bevatten zoals login:password . Het wachtwoord moet worden gecodeerd met behulp van het MD5-algoritme. Eén manier om zo'n bestand te maken is door het programma te gebruiken dat bij Apache wordt geleverd - htpasswd (op onze server bevindt het zich in de map /usr/local/bin/, het volledige pad is /usr/local/bin/htpasswd).

Laten we eens kijken hoe u een wachtwoordbestand in de Unix-shell rechtstreeks op de server kunt maken. Laten we naar de shell gaan en de volgende opdrachten uitvoeren:

  • htpasswd -mbc .htpasswd user1 sNQ7j9oR2w maak een nieuw bestand .htpasswd, waaraan we een vermelding toevoegen voor de gebruiker user1 met het wachtwoord dat is opgegeven op de opdrachtregel. Zorg ervoor dat u sNQ7j9oR2w vervangt door een eigen wachtwoord - dit wachtwoord wordt hier alleen als voorbeeld weergegeven
  • htpasswd .htpasswd user2 wordt toegevoegd aan het bestaande .htpasswd-bestand van gebruiker user2 en het wachtwoord wordt handmatig ingevoerd als reactie op het overeenkomstige verzoek van het programma

Als u Windows gebruikt en de Unix-shell niet wilt gebruiken om wachtwoorden te genereren, kunt u de Windows-versie van het htpasswd-programma downloaden en een bestand met wachtwoorden op uw computer maken en dit vervolgens naar de server uploaden. Als u al een Windows-versie van Apache hebt geïnstalleerd, kunt u het bestand htpasswd.exe vinden in de map Program Files\Apache Group\Apache\bin\.

Dus download htpasswd.exe en gebruik het om wachtwoorden als deze te genereren:

  • htpasswd.exe -mc .htpasswd user1 maak een nieuw wachtwoordbestand htpasswd.exe aan, het wachtwoord en de bevestiging ervan worden interactief opgevraagd
  • htpasswd.exe -m .htpasswd gebruiker2 voeg gebruiker gebruiker2 toe aan het bestaande wachtwoordbestand htpasswd.exe door interactief om het wachtwoord te vragen

Nadat alle logins zijn aangemaakt, moet het bestand naar de server worden geüpload.

Voorbeeld: indexbestand overschrijven

Situatie: de gebruiker heeft toegang gekregen tot de catalogus http://www.uw_domein.ru/prijs/.

Bij een dergelijk verzoek wordt de eerste geopend en getoond. Wilt u het indexbestand overschrijven en ervoor zorgen dat niet index.htm als eerste wordt geopend, maar bijvoorbeeld het bestand myindex.php, dan kunt u dit doen door de volgende instructie in het .htaccess-bestand te plaatsen in de juiste map:

DirectoryIndex mijnindex.php

Nadat u .htaccess met dergelijke inhoud heeft ontvangen, zal de Apache-webserver standaard het bestand myindex.php openen.

Voorbeeld: verbod en toestemming om een ​​vermelding uit te geven

In sommige gevallen is het nodig om een ​​lijst met bestanden in een directory weer te geven (directorylisting) als er geen bestand in de directory staat die standaard wordt weergegeven. Om dit te doen, moet je de volgende regel toevoegen aan .htaccess:

Opties +Indexen

Het .htaccess-bestand moet worden gemaakt in de exacte map waarin u weergave wilt toestaan. Deze richtlijn is ook van toepassing op alle submappen (dit wordt bereikt door standaard de AllowOverride All-richtlijn in te schakelen in de virtuele hostinstellingen).

Als de codering in bestandsnamen niet correct wordt weergegeven, gebruikt u de eigenschap Charset om de gewenste codering op te geven.

Als u bijvoorbeeld Cyrillische tekens in UTF-8-codering wilt weergeven, voegt u de volgende instructie toe aan het .htaccess-bestand:

IndexOptions Charset=UTF-8 Voorbeeld: aangepaste foutpagina's Voorbeeld: toegang weigeren van bepaalde IP-adressen

Soms is het nodig om de toegang tot de site of een deel ervan vanaf bepaalde IP-adressen te blokkeren.

In dit geval moet u een .htaccess-bestand met richtlijnen in de gewenste map maken. Om bijvoorbeeld toegang te weigeren vanaf IP-adres 172.16.16.16:

Bestelling Toestaan,Weigeren Toestaan ​​van Alles Weigeren vanaf 172.16.16.16

Wanneer de bezoeker nu probeert toegang te krijgen tot de site vanaf het IP-adres 172.16.16.16, ontvangt de bezoeker een 403-fout of uw pagina voor deze fout.

Als u een deel van het adres opgeeft als 172.16.16, wordt de toegang vanuit het 172.16.16/24-subnet beperkt.

Soms moet u het tegenovergestelde doen en de toegang tot de site blokkeren voor alle IP's behalve die van u (). Om bijvoorbeeld alleen toegang tot het IP-adres 172.16.16.16 toe te staan, voegt u de volgende verklaring toe aan het .htaccess-bestand:

Bestelling Toestaan, Weigeren Toestaan ​​vanaf 172.16.16.16

Meer gedetailleerde documentatie vindt u in de Apache-documentatie.

Voorbeeld: toegang tot sommige bestanden weigeren

Soms is het nodig om de toegang tot bepaalde bestanden te weigeren. Bijvoorbeeld naar configuratiebestanden met toegangsgegevens tot databases, interfaces, enz.

Laten we zeggen dat u in het bestand config.cfg de login/het wachtwoord opslaat voor toegang tot de database. Maak een .htaccess-bestand in deze map met richtlijnen:

Bestelling toestaan, weigeren Weigeren van iedereen

Als een bezoeker nu zoiets als http://www.uw_domein.ru//config.cfg in de browser typt, ontvangt hij een 403-fout of uw pagina voor deze fout.

Dit wordt als volgt geïmplementeerd:

Let op: het header-commando moet in het PHP-script worden uitgevoerd voordat het script HTML-tekst naar de browser van de gebruiker begint uit te voeren.

"1C-Bitrix: Sitebeheer" werkt met elk rechtenniveau dat u tijdens de installatie (installatie) hebt opgegeven.

Om ervoor te zorgen dat het product correct werkt met mappen en bestanden met een bepaalde CHMOD (geschreven en gemaakt), moet u het bestand / bitrix/php_interface/dbconn installeren. php de volgende constanten:

Dit zijn typische machtigingsinstellingen voor de meeste hostingservices (0644 voor bestanden, 0755 voor mappen). Als u problemen ondervindt bij de werking, neem dan contact op met de technische ondersteuning van uw hosting.

Met het CHMOD-commando in de consolemodus kunt u zelf het gewenste rechtenniveau instellen.

Met de volgende aanroep wordt het machtigingsniveau voor zowel bestanden als mappen ingesteld:

Om de machtigingen voor mappen afzonderlijk in te stellen, kunt u de volgende syntaxis gebruiken:

vinden. - type d - exec chmod 0755 () ";"

Als u verschillende rechten voor mappen en bestanden moet instellen, voert u het volgende script uit:

definieer("BX_FILE_PERMISSIONS", 0644);

definieer("BX_DIR_PERMISSIONS", 0755);

functie chmod_R($pad) (

$handle = opendir($pad);

while (false!== ($file = leesmap($handle))) (

if (($bestand!== ".") && ($bestand!== "..")) (

if (is_bestand($pad."/".$bestand)) (

chmod($pad. "/" . $bestand, BX_FILE_PERMISSIONS);

chmod($pad. "/" . $bestand, BX_DIR_PERMISSIONS);

chmod_R($pad. "/" . $bestand);

geslotenir($handle);


$pad=mapnaam(__FILE__);

Om recursieve rechten afzonderlijk in te stellen voor bestanden en mappen kunt u enkele FTP-clientprogramma's gebruiken. Bijvoorbeeld FlashFXP versie 3.xx en hoger.

Met FlashFXP kunt u ook de machtigingen voor bestanden en mappen scheiden, maar de machtigingen worden langzamer gewijzigd.

Let op de instellingen van de bijbehorende vlaggen:

· Afzonderlijk bestands- en mapkenmerken instellen (afzonderlijk rechten instellen voor bestanden en mappen);

· Wijzigingen toepassen op alle submappen en bestanden (recursieve instelling van rechten op submappen en bestanden).

Elke instelling heeft zijn eigen niveau (Fig. 10.3 en Fig. 10.4):

https://pandia.ru/text/80/333/images/image084.gif" width="353" height="310 src=">

Rijst. 10.4 Maprechten instellen

Opmerking: met de module Structuurbeheer kunt u de toegangsrechten bekijken tot bestanden en mappen die op systeemniveau zijn ingesteld (Fig. 10.5):

Eigenaar" href="/text/category/vladeletc/" rel="bookmark">eigenaar en gebruikersgroep (voor *nix).

Bestanden gebruiken. htaccess

In deze sectie wordt besproken hoe u de Apache-webserver configureert met behulp van het .htaccess-bestand.

In de meeste gevallen heeft de servergebruiker geen toegangsrechten tot het serverconfiguratiebestand (httpd.conf), dat voor alle gebruikers geldt. Met het .htaccess-bestand kunt u configuratiewijzigingen aanbrengen die alleen van invloed zijn op uw site.

Om ervoor te zorgen dat de instellingen van het .htaccess-bestand niet door het systeem worden genegeerd, in het configuratie-instellingenbestand van de httpd-server. conf toestemming om .htaccess te gebruiken is ingesteld. Neem contact op met ondersteuning voor deze toestemming.

Het .htaccess-bestand bevat richtlijnen die van toepassing zijn op de map waarin het bestand zich bevindt, evenals op alle submappen in deze map. Als .htaccess zich in de hoofdmap van de server bevindt, geldt het effect ervan voor de hele server, behalve voor die mappen waarin het eigen .htaccess-bestand zich bevindt. Richtlijnen in .htaccess-bestanden worden toegepast in de volgorde waarin ze worden gevonden. Richtlijnen van een bestand in een bepaalde directory hebben dus een hogere prioriteit dan richtlijnen in een directory hoger in de directorystructuur.

Het is niet nodig om de server opnieuw op te starten wanneer u wijzigingen aanbrengt in het .htaccess-bestand. Het .htaccess-bestand wordt elke keer gecontroleerd wanneer de server wordt benaderd, zodat wijzigingen onmiddellijk van kracht worden nadat ze zijn aangebracht. Omdat het bestand een servicebestand is, is het niet toegankelijk voor gebruikers via een webbrowser.

Over het algemeen is de syntaxis van het .htaccess-bestand vergelijkbaar met de syntaxis van het hoofdconfiguratiebestand. Het effect van bestandsrichtlijnen kan echter worden beperkt door de AllowOverride-richtlijn. Het bepaalt welke soorten .htaccess-bestandsrichtlijnen eerdere toegangsinstellingen kunnen overschrijven.

Opmerking: tijdens de installatie controleert de pre-validatiestap de verwerking van .htaccess-bestanden.

In het verzonden product bevat het standaard .htaccess-bestand de volgende richtlijnen:

Opties - Indexen

FoutDocument 404 /404.php

#php_flag allow_call_time_pass_reference 1

#php_flag sessie. use_trans_sid uit

#php_value display_errors 1

php_waarde mbstring. func_overload 2

php_waarde mbstring. interne_codering UTF-8

Opties +VolgSymLinks

RewriteEngine Aan

Herschrijfregel.* -


RewriteCond %(REQUEST_FILENAME) !-f

RewriteCond %(REQUEST_FILENAME) !-l

RewriteCond %(REQUEST_FILENAME) !-d

RewriteCond %(REQUEST_FILENAME) !/bitrix/urlrewrite. php$

RewriteRule ^(.*)$ /bitrix/urlrewrite. php[L]

DirectoryIndex-index. php-index. html

Verloopt Actief op

ExpiresByType image/jpeg "toegang plus 3 dagen"

ExpiresByType afbeelding/gif "toegang plus 3 dagen"

Opmerking: Om PHP-richtlijnen met commentaar in te schakelen, moet u het commentaarteken (#) aan het begin van de regel verwijderen. Als uw Apache-server geen toestemming heeft om PHP-vlaggen te gebruiken, zal het uitvoeren van deze richtlijnen resulteren in een interne fout (500). Als er een fout optreedt, moet u de richtlijnen opnieuw van commentaar voorzien door een #-teken aan het begin van elke richtlijn te plaatsen.

Voor andere PHP-richtlijnen die niet zijn gemarkeerd met een commentaarteken (#), is een controle toegevoegd op de aanwezigheid van de benodigde Apache-modules in het systeem. Het volgen van deze richtlijnen zal geen fout in het systeem veroorzaken.

· PHP-richtlijn php_flag-sessie. use_trans_sid off schakelt vervanging van de sessie-ID in de link op de site uit.

· de waarde van de PHP-vlag php_value display_errors gelijk aan 1 geeft aan dat toestemming om foutmeldingen weer te geven is ingeschakeld; de php_value error_reporting richtlijn bepaalt het niveau van fouten waardoor een bericht wordt weergegeven. Met behulp van deze richtlijnen kunt u de uitvoermodus van foutmeldingen door de PHP-interpreter configureren.

· php_value mbstring-richtlijnen. func_overload 2 en php_value mbstring. internal_encoding UTF-8 bestuurt de configuratie van de mbstring-bibliotheek.

· IfModule mod_rewrite richtlijnblok. c is de regelinstelling voor mod_rewrite.

· De ExpiresActive on-richtlijn maakt caching van afbeeldingen mogelijk, waardoor u het laden ervan kunt versnellen wanneer u de sitepagina's opnieuw bezoekt. De ExpiresByType image/jpeg "access plus 3 day" en ExpiresByType image/gif "access plus 3 day" richtlijnen bepalen op hun beurt het afbeeldingsformaat en de periode waarvoor caching zal worden uitgevoerd. Standaard worden afbeeldingen in de formaten *.jpeg en *.gif gedurende 3 dagen in de cache bewaard.

Let op: na het aanbrengen van wijzigingen moet het .htaccess-bestand worden opgeslagen in UNIX-formaat (voor de FAR-shell is de optie "Opslaan als UNIX-tekst").

Serverfouten 500 - Interne serverfout

Een serverfout kan verschillende oorzaken hebben, dus het diagnosticeren ervan is behoorlijk complex en tijdrovend. Dit is geen "1C-Bitrix: Sitebeheer"-fout. Serverfouten komen vaak voor op gedeelde hosting vanwege beperkte systeembronnen.

Wanneer er een serverfout optreedt, moet u eerst naar de serverfout kijken. loggen. Dit bestand bevat mogelijk een regel met een foutcode.

· Een typisch voorbeeld van de oorzaak van een serverfout kan het overschrijden van de toegestane rechten op de hosting zijn.

Er vindt bijvoorbeeld een poging plaats om een ​​bestand uit te voeren met attributen die niet op de server mogen worden uitgevoerd (een bestand heeft bijvoorbeeld attributen 0755, maar toegestaan ​​0711).

· Een andere mogelijke reden kan de aanwezigheid van een tijdslimiet zijn voor de uitvoering van PHP-scripts. Of het systeem heeft geen rechten om het bestand te schrijven of te lezen, enz.

· Een andere veelvoorkomende oorzaak van een interne serverfout is een schending van de serverconfiguratie of een poging om ongeautoriseerde instructies te gebruiken, zoals in het .htaccess-bestand. In dit geval moet u commentaar geven op de regel met de niet-geautoriseerde richtlijn in het overeenkomstige bestand (bijvoorbeeld .htaccess ) of deze verwijderen.

Let op: Als PHP als CGI draait, kan de 500-fout op de server veroorzaakt worden door een fatale PHP-fout. In dit geval wordt aanbevolen om de programmacode te controleren en de fout te diagnosticeren.

htaccess bestand - instellingen en gebruiksvoorbeelden - 3,8 uit 5 gebaseerd op 21 stemmen

Met het htaccess-bestand kunt u de instellingen van de Apache-webserver en vergelijkbare servers configureren en overschrijven. Met zijn hulp kunt u machtigingen en parameters instellen zodat de server kan werken voor bepaalde hostinggebruikers en zelfs voor individuele mappen van een specifieke gebruiker.

Het wordt meestal gebruikt voor het maken van 301-omleidingen van oude URL's naar nieuwe, het opnieuw toewijzen van bestandstypen, gecontroleerde maptoegang en nog veel meer. Dankzij het htaccess-bestand is het niet nodig om toegang te krijgen tot het hoofdconfiguratiebestand en de gehele werking van de server te beïnvloeden.

Wat is een htaccess-bestand en waarvoor wordt het gebruikt?

Zoals gezegd wordt htaccess gebruikt om enkele parameters van Apache en andere servers in te stellen. Ondanks de grote en vreemde extensie wordt het .htaccess-bestand aangepast door de inhoud ervan te openen en te wijzigen met behulp van een willekeurige teksteditor.

Het htaccess-bestand is speciaal uitgevonden om de mogelijkheid te bieden om de serverconfiguratie voor elke gebruiker te wijzigen, wat alleen invloed heeft op zijn eigen site, en niet op de hele server. Iedereen weet dat de belangrijkste configuratie-instructies van Apache te vinden zijn in het httpd.conf-bestand. De meeste gebruikers, en als we het over virtuele hosting hebben, dan hebben alle gebruikers echter niet de mogelijkheid om er toegang toe te krijgen en niet de rechten om het te wijzigen, aangezien deze actie op iedereen van toepassing is.

Een bestand met de extensie htaccess wordt vaak dynamisch genoemd. Dit komt omdat de server er elke keer toegang toe moet hebben als hij een verzoek moet indienen bij de map die het bestand bevat. Misschien is dit een aanzienlijk voordeel, omdat wijzigingen die door de gebruiker in het bestand worden aangebracht onmiddellijk van kracht worden zonder dat de server opnieuw hoeft te worden opgestart. Als er wijzigingen worden aangebracht in het hoofdconfiguratiebestand, is het opnieuw opstarten van de server een voorwaarde om deze van kracht te laten worden.

Natuurlijk verloopt niet alles zo soepel als we zouden willen, omdat het gebruik van htaccess de serverprestaties enigszins beïnvloedt, maar in het geval van gesloten toegang tot het hoofdconfiguratiebestand is deze methode de eenvoudigste en handigste methode om parameters te wijzigen.

Enkele kenmerken van het gebruik van htaccess:

1. Het kan een groot aantal richtlijnen die in het hoofdbestand httpd.confg zijn geschreven, overschrijven

2. Als u het htaccess-bestand in de hoofdmap plaatst, wordt het over de hele site gedistribueerd (de enige uitzonderingen zijn de mappen waarin het eigen configuratiebestand zich bevindt, en de mappen die zich lager in de boomstructuur bevinden)

3. U kunt het htaccess-bestand in elke map plaatsen en de bijbehorende richtlijnen worden toegepast op alle submappen

4. Htaccess is niet beschikbaar voor de gebruiker om vanuit de browser te bekijken, omdat het tot de categorie “systeem” behoort.

Met behulp van htaccess krijgt de gebruiker dus de flexibiliteit om zijn eigen server te configureren en kan hij de volgende parameters toepassen:

  • Eenvoudige omleidingsrichtlijnen (omleiding);
  • Complexe omleidingsrichtlijnen (mod_rewrite);
  • Indexpagina's;
  • Foutafhandeling;
  • Coderingsdefinitie;
  • Toegang tot mappen en bestanden beheren;
  • Directory-wachtwoord;
  • PHP-opties.
Voorbeelden van de meest voorkomende toepassingen van het htaccess-bestand

Nu zullen we kijken naar de meest voorkomende werkopties voor het gebruik van htaccess om een ​​website te configureren.

Voordat we beginnen, let op de volgende punten:

2. Om een ​​nieuw bestand met de htaccess-extensie te maken, moet u Kladblok of een andere teksteditor openen, de code schrijven, het bestand opslaan en de .htaccess-extensie opgeven (punt vooraan). Dan hoeft u het alleen nog maar in de map te plaatsen waarvoor het bedoeld was.

3. Syntaxis.htaccess

Paden naar bestanden (mappen) worden opgegeven vanaf de serverroot.

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

Als u een htaccess-bestand configureert dat zich in de hoofdmap van de site bevindt, worden de paden opgegeven vanaf de hoofdmap van deze map.

DirectoryIndex/home.html

Domeinen worden geschreven met behulp van het protocol http:// of https://

Omleiding / http://uw-sait.ru

Het bestand heet "dot" htaccess.

Gebruik het #-teken om een ​​commentaarregel te maken.

De handigste manier om een ​​bestand te bewerken is met de AkelPad-editor in Total Commander; selecteer het gewoon en druk op F4.

Eenvoudige omleiding - Omleidingsrichtlijn

1. Omleiden naar nieuwe pagina's van de site

Als pagina's op de site naar nieuwe adressen zijn verplaatst, zal een gebruiker of zoekrobot die het oude adres bezoekt deze waarschijnlijk niet zien. Om de oude en nieuwe paginaadressen samen te voegen, kunt u een eenvoudige 301-omleiding gebruiken. Om dit te doen, moet u de volgende code in het htaccess-configuratiebestand schrijven:

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

2. Feeds naar een gemeenschappelijk formaat brengen

Voorheen werden verschillende feedformaten gebruikt, zoals: Atom, RSS, Rdf. Tegenwoordig is RSS de belangrijkste en meest populaire onder hen, dus er kan op worden gelet dat andere formaten naar één formaat worden omgeleid. Hiervoor wordt ook het htaccess-bestand en de volgende code gebruikt:

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

Complexe omleiding - RewriteRule-instructie

1. Een domein omleiden van www naar niet-www.

Heel vaak moet je 301-omleidingen in htaccess gebruiken om domeinen met www en zonder www samen te voegen. Voorheen beschouwden zoekmachines dergelijke adressen als totaal verschillend en beschouwden ze ze als verschillende sites. Tegenwoordig wordt de taak van het lijmen toegewezen aan de zoekrobot, maar het is nooit een slecht idee om de juiste spiegel aan te duiden. Bovendien ontstaat er geen verwarring voor jezelf.

Opties +FollowSymLinks RewriteEngine aan RewriteCond %(HTTP_HOST) ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

2. Bezoekers doorverwijzen naar verschillende pagina’s, afhankelijk van het IP-adres van de bezoeker.

In htaccess is het mogelijk om aan te geven naar welke pagina een gebruiker met een specifiek IP-adres wordt doorgestuurd. Bezoekers met IP-adres 183.11.101.1 bijvoorbeeld doorsturen naar de kontakt.html-pagina

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

3. Omleiding in het geval van een update van de webbronnen

Tijdens het testen of bijwerken van de bron heeft de gebruiker geen toegang tot de site. Het zou echter verkeerd zijn om hem hiervoor niet te waarschuwen. In .htaccess kun je code schrijven die de gebruiker doorverwijst naar een informatiepagina die de aard van het probleem beschrijft (redenen, timing, enz.).

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

Waar 14.124.354.80 - vervangen door uw IP-adres.

4. Bescherming tegen hotlinks

Het is geen geheim dat tegenwoordig steeds vaker informatie van websites wordt gestolen. Soms alleen tekst, en soms samen met grafische afbeeldingen. En elke keer dat een bezoeker naar een site van derden komt, worden deze afbeeldingen vanaf uw hosting geladen, waardoor er veel verkeer ontstaat en het verkeer verbrandt. Om dit te voorkomen, voegt u de volgende code toe:

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

In het bovenstaande voorbeeld verschijnt er een 403-fout op de site die de afbeelding laadt; als je wilt dat een specifieke afbeelding wordt weergegeven in plaats van de afbeelding, vervang dan de laatste regel door het volgende:

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

5. Omleiden naar een beveiligde https-verbinding

In .htaccess kunt u de omleiding naar een beveiligde https-verbinding configureren, zodat alle gebruikers alleen via dit protocol werken, wat de veiligheid en betrouwbaarheid van de gegevensoverdracht tussen de server en de client garandeert.

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

6. Automatische vervanging van een schuine streep aan het einde van het adres.

Veel voorkomende situaties zijn wanneer de URL eindigt met de mapnaam: http://vash-sait.ru/images/raznoe

Apache kan de fout zelfstandig herstellen en een 301-omleiding maken door de ontbrekende schuine streep aan de link toe te voegen. De gebruiker voelt dus geen verschil en ontvangt als reactie de gewenste pagina. Maar het zal twee keer zo lang duren om deze actie te voltooien. De volgende code voegt altijd / toe aan het einde van het adres.

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

7. Gebruikers blokkeren die van een specifieke site komen

Als de site-eigenaar niet wil dat zijn bron wordt bezocht door gebruikers die zijn ingelogd vanaf een bepaald domein en hun toegang moet blokkeren, staat htaccess ook klaar om te helpen. U kunt verkeer van bepaalde sites blokkeren met behulp van een 403- of ‘toegang weigeren’-pagina. Deze instelling is handig wanneer links naar uw site verschijnen vanaf sites met verboden inhoud en er verkeer via deze sites naar uw site stroomt.

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

Indexpagina's - DirectoryIndex-richtlijn

1. Wijzigen van de standaard geladen indexpagina

Normaal gesproken zijn de standaardindexpagina's index.htm, index.php of index.html; bij toegang tot de sitemap worden deze bestanden onmiddellijk doorzocht. Maar indien nodig kunt u de indexpagina opnieuw definiëren naar een andere pagina. Een soortgelijk probleem kan ook worden opgelost met behulp van een htaccess-bestand.

DirectoryIndex mijnpagina.html

Het is mogelijk om twee of meer pagina's op te geven. Het is de moeite waard om te overwegen dat ze worden doorzocht in de volgorde waarin ze worden vermeld in het configuratiebestand achter de DirectoryIndex-instructie.

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

Foutafhandeling - ErrorDocument-richtlijn

1. Aangepaste foutpagina

Ondanks het feit dat veel websites nog steeds de standaard 404-foutpagina gebruiken, is het onwaarschijnlijk dat dit de gebruiker tevreden zal stellen die niet het verwachte resultaat krijgt en in plaats daarvan informatie ziet die voor hem onbegrijpelijk is. Het is noodzakelijk om een ​​pagina voor te stellen die overeenkomt met de hoofdstijl, die meer gedetailleerde informatie zal weergeven over de redenen voor de mislukte uitvoering van het verzoek. Om dit te doen, kunt u in htaccess opgeven welk bestand moet worden geladen in plaats van de standaard 404-foutpagina.

FoutDocument 404 "/404.html"

2. Maak uw eigen foutpagina's

Voor degenen die de gebruikelijke pagina's beu zijn die een beschrijving weergeven van fouten die op de site zijn opgetreden, hebben ze de mogelijkheid om hun eigen sjablonen te gebruiken. U hoeft alleen maar zelf meerdere bestanden met *.html-resolutie aan te maken, met de benodigde inhoud, en een vermelding in het htaccess-bestand te maken.

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

Om ervoor te zorgen dat u weet wat u op elke foutpagina moet plaatsen, zullen we de betekenis ervan kort beschrijven.

  • 401 - Autorisatie vereist
  • 403 - de gebruiker is niet geverifieerd, toegang is geweigerd (verboden)
  • 404 - het opgevraagde document (bestand, map) is niet gevonden (Not Found)
  • 500 - interne serverfout - scriptfout of fout in de syntaxis van het .htaccess-bestand - (interne serverfout)
Coderingsdefinitie

1. Bepalen van de codering waarin de server bestanden “verstuurt”.

Om ervoor te zorgen dat de gebruiker op het monitordisplay geen voor hem onbegrijpelijke symbolen ziet, waarvan het niet mogelijk is woorden te lezen, is het noodzakelijk om de juiste codering op te geven. Zelfs zonder label< Мета http-equiv = "Content-Type">de tekst op de pagina zal altijd correct zijn en het htaccess-bestand helpt hier weer bij.

AddDefaultCharset UTF-8

2. Bepalen van de codering voor gedownloade bestanden

Een soortgelijke situatie kan zich voordoen wanneer een gebruiker een bestand naar de server uploadt en de inhoud ervan opnieuw kan worden gecodeerd. Om de vereiste codering te kunnen gebruiken, moet htaccess code bevatten die aangeeft dat alle gedownloade bestanden moeten worden geopend met UTF-8-codering.

CharsetSourceEnc UTF-8

Toegang tot mappen en bestanden beheren

1. Toegang tot alle bestanden weigeren

De eenvoudigste manier om te voorkomen dat een bestand wordt bekeken, is door een wachtwoord in te stellen, maar dit is niet altijd voldoende. In sommige gevallen zou de gebruiker geen rechten moeten hebben om bestanden of mappen te bekijken (het is bijvoorbeeld noodzakelijk om systeemmappen te blokkeren, omdat wijzigingen de prestaties van de server kunnen verslechteren). Het htaccess-bestand bevat een stukje code dat gebruikers alle rechten ontneemt.

2. Sta toegang toe vanaf een specifiek IP-adres

.htaccess (van het Engelse hypertext access) is een aanvullend configuratiebestand voor de Apache-webserver en enkele andere soortgelijke servers.

Bij correct gebruik is het Apache-webserverconfiguratiebestand - .htaccess (hyperteksttoegang) een zeer krachtig hulpmiddel in de toolkit van de ontwikkelaar. Zoals gewoonlijk bevindt het hoofdbestand zich in de hoofdmap van uw webserver (er kunnen ook afzonderlijke bestanden in elke map staan ​​om de toegang te controleren) en kan het worden bewerkt met elke teksteditor. In dit artikel vindt u 24 regels voor .htaccess met uitleg over het gebruik ervan.

Belangrijk! Normaal gesproken wordt het .htaccess-bestand samen met de site-installatie op de hosting (webserver) geïnstalleerd, maar als dit er niet is, kunt u dit bestand maken met Kladblok. Om dit te doen, opent u een notitieblok, voegt u daar de richtlijnen toe die u nodig hebt, waarvan hieronder voorbeelden worden gegeven, en slaat u het op als een tekstdocument met de naam .htaccess. Verwijder vervolgens gewoon de .txt-extensie en het bestand is klaar.

Belangrijk! Voordat u wijzigingen aanbrengt in het .htaccess-bestand, moet u er een back-up van maken, zodat u alle wijzigingen ongedaan kunt maken als uw site faalt.

Belangrijk! De functionaliteit van de onderstaande regels (richtlijnen) is afhankelijk van de instellingen van uw webserver die door de hoster zijn ingesteld, dus sommige richtlijnen zijn mogelijk verboden en werken mogelijk niet.

Belangrijk! Misbruik van het gebruik van .htaccess kan leiden tot slechte prestaties van uw site. Gebruik .htaccess om een ​​bepaalde taak alleen uit te voeren als er geen andere opties zijn.

Regels.htaccess

1. Wij verbieden het downloaden van bestanden van externe sites
De onderstaande code, geplaatst aan het einde van uw .htaccess-bestand, voorkomt dat afbeeldingen van uw bron naar sites van derden worden geladen, waardoor u het verkeer bespaart dat u verbruikt en onnodige belasting van uw hosting wordt voorkomen.

Opties +VolgSymlinks
#Wij verbieden het downloaden van bestanden van externe sites
RewriteEngine Aan
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?uw_domein.com/
RewriteRule .*.(gif|jpg|png)$ http://uw_domein.com/img/goaway.gif

Vergeet niet uw_domein.com te wijzigen in uw domeinnaam en een goaway.gif-afbeelding te maken die wordt weergegeven in plaats van de gevraagde afbeelding.

2. Blokkeer alle verzoeken van ongewenste User Agents
Met deze regel kunt u ongewenste User Agents blokkeren die potentieel gevaarlijk kunnen zijn of simpelweg onnodige verzoeken die de server overbelasten:

#Blokkeer ongewenste bots en robots
SetEnvIfNoCase gebruiker-agent ^FrontPage
SetEnvIfNoCase gebruiker-agent ^Java.*
SetEnvIfNoCase gebruiker-agent ^Microsoft.URL
SetEnvIfNoCase gebruiker-agent ^MSFrontPage
SetEnvIfNoCase gebruiker-agent ^Offline.Explorer
SetEnvIfNoCase gebruiker-agent ^ebandit
SetEnvIfNoCase gebruiker-agent ^Zeus

Bestelling Toestaan, Weigeren
Toestaan ​​van iedereen
Weigeren van env=bad_bot

Een lijst met User Agent-browsers, robots en spiders van zoekmachines, webdirectories, downloadmanagers, spambots en slechte bots is te vinden op de website http://www.user-agents.org/

3. Weiger de toegang voor iedereen behalve de opgegeven IP-adressen
Als u om de een of andere reden iedereen de toegang tot uw site wilt ontzeggen of alleen bepaalde IP-adressen wilt toestaan, voegt u deze code toe aan uw .htaccess-bestand:

#Weiger toegang voor iedereen behalve de opgegeven IP-adressen
ErrorDocument 403 http://uw_domein.com
Bestelling weigeren, toestaan
Ontkennen van iedereen
Toestaan ​​vanaf IP1
Toestaan ​​vanaf IP2, etc.

Vergeet niet uw_domein.com en IP1,2 enz. te wijzigen. naar uw domeinnaam en de vereiste IP-adressen.

4. Maak een zwarte lijst met IP-adressen
Als u de toegang tot uw bron voor bepaalde IP-adressen moet blokkeren, kunt u dit doen met behulp van de volgende code die is toegevoegd aan het .htaccess-bestand:

#Maak een zwarte lijst met IP-adressen
toestaan ​​van iedereen
weigeren vanaf IP1
weigeren van IP2, enz.

Als de reden voor het blokkeren van een IP-adres vervelende spamreacties zijn, kunt u de IP-adressen van de commentatoren achterhalen in Apache-logboeken of met behulp van statistische diensten. Voor WordPress zijn de IP-adressen van commentatoren te zien in het beheerderspaneel. Op dezelfde manier is het mogelijk om de toegang tot een netwerk van IP-adressen te blokkeren door “weigeren van IP/netwerkmasker” op te geven.

#Maak een zwarte lijst voor het subnet
toestaan ​​van iedereen
weigeren van 192.168.0.0/24

5. SEO-vriendelijke 301-omleiding instellen
Als u een domeinnaam heeft overgedragen of de gebruiker naar een specifieke pagina('s) wilt doorverwijzen zonder gestraft te worden door zoekmachines, gebruikt u deze code:

#SEO-vriendelijke 301-omleiding instellen
Omleiding 301 /d/bestand.html http://uw_domein.com/r/bestand.html

Vergeet niet uw_domein.com te wijzigen in uw domeinnaam, en /d/file.html en /r/file.html in de overeenkomstige mappen en pagina's.

6. Maak uw eigen foutpagina's
Als u het unieke karakter van uw bron wilt vergroten en hiervoor het standaard uiterlijk van foutpagina's wilt vervangen, is dit mogelijk met behulp van de volgende code:

Foutdocument 401 /error/401.php
Foutdocument 403 /error/403.php
Foutdocument 404 /error/404.php
FoutDocument 500 /error/500.php

Vergeet niet om een ​​"error"-map aan te maken in de hoofdmap van uw server en daarin de juiste bestanden te plaatsen.

7. Stel het standaard e-mailadres voor de serverbeheerder in
Gebruik deze code om het standaard e-mailadres voor de serverbeheerder in te stellen:

#Stel het standaard e-mailadres in voor de serverbeheerder
Serverhandtekening E-mail
StelEnv SERVER_ADMIN standaard@uw_domein.com in

Vergeet niet standaard@uw_domein.com te vervangen door het e-mailadres dat u nodig heeft.

8. Beveilig een specifiek bestand
Met de onderstaande code kunt u de toegang tot elk bestand weigeren - het verzoek geeft een 403-fout weer. In het voorbeeld wordt de toegang tot het .htaccess-bestand zelf geweigerd - op deze manier kunt u het beveiligingsniveau van de site verhogen:

#Beveilig het .htaccess-bestand

bestelling toestaan, weigeren
ontkennen van iedereen

9. Comprimeer sitecomponenten door Gzip in te schakelen
Wanneer u Gzip gebruikt, comprimeert de server bestanden voordat deze naar de gebruiker worden verzonden, wat betekent dat uw site sneller wordt geladen:

#Comprimeer sitecomponenten door Gzip in te schakelen
AddOutputFilterByType DEFLATE tekst/html tekst/platte tekst/xml-toepassing/xml-toepassing/xhtml+xml tekst/javascript tekst/css-toepassing/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Houd er rekening mee dat het inschakelen van compressie zal resulteren in een grotere belasting van de processor van de server.

10. Comprimeer elementen met mod_deflate
Als alternatief voor het comprimeren van bestanden met Gzip kun je mod_deflate gebruiken (vermoedelijk sneller). Plaats de volgende code aan het begin van uw .htaccess-bestand (u kunt ook .jpg|.gif|.png|.tiff|.ico toevoegen):

#Comprimeer elementen met mod_deflate


SetOutputFilter DEFLATE

11. Voeg levensduur toe aan headers
Met deze code kun je levens aan headers toevoegen:

#Voeg levensduur toe aan headers

Headerset Verloopt op woensdag 31 december 2014 20:00:00 GMT+2

12. Stel standaardpagina's in
Normaal gesproken is de standaardpagina index.html, maar met deze code kunt u elke andere pagina als standaardpagina instellen:

#Stel een alternatieve standaardpagina in
DirectoryIndex uwpagina.html

Vergeet niet uwpagina.html te vervangen door de pagina die u nodig heeft

13. Beveilig mappen en bestanden met een wachtwoord
Met deze code kunt u wachtwoordverificatie inschakelen voor toegang tot elke map of bestand op uw server:

#wachtwoordbeveiliging bestand

AuthType Basis
AuthName "Prompt"

Vereist geldige gebruiker

#wachtwoordbeveiligde map
woont
AuthType basis
AuthName “Deze map is beveiligd”
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Vereist geldige gebruiker

Om de toegang tot een bestand te organiseren met behulp van een wachtwoord, moet u een .htpasswd-bestand maken en daarin een login-wachtwoordpaar invoeren in de indeling gebruiker:wachtwoord. In dit geval worden de wachtwoorden echter in leesbare tekst opgeslagen, wat vanuit veiligheidsoogpunt niet erg goed is. Daarom zou de optimale oplossing zijn om het wachtwoord te coderen. Gebruik hiervoor services voor het genereren van records in .htpasswd-bestanden.
Bijvoorbeeld http://www.htaccesstools.com/htpasswd-generator/
In het voorbeeld bevindt het bestand met toegangswachtwoorden zich in de hoofdmap van de site en heet het .htpasswd. De map wordt aangegeven vanaf de serverroot en als het pad onjuist is, zal Apache, die geen toegang heeft tot het bestand, elke gebruiker de toegang tot de map weigeren - inclusief degene die de juiste login heeft ingevoerd: wachtwoordpaar.

14. Redirect van het oude domein naar het nieuwe
Met .htaccess kunt u een redirect instellen van de oude domeinnaam naar de nieuwe door de volgende code toe te voegen:

#Omleiding van het oude domein naar het nieuwe
RewriteEngine Aan
RewriteRule ^(.*)$ http://www.uwnieuwedomein.com/$1

Omleiding wordt gebruikt wanneer u uw bestaande website naar een nieuwe domeinnaam verhuist. In dit geval wordt elke gebruiker die http://www.uwoudedomein.com in de adresbalk typt, doorgestuurd naar http://www.uwnieuwedomein.com.

15. Versterk de caching
Het gebruik van deze regel versnelt niet direct het laden van uw site. Het is ontworpen om de site sneller te laden voor een bezoeker die de site al heeft bezocht, door een 304-status te verzenden voor de elementen die niet zijn bijgewerkt. Wanneer de pagina opnieuw wordt geladen, zal de browser van de bezoeker dus geen afbeeldingen, scripts of CSS opnieuw downloaden, maar de bestanden weergeven die al in de cache zijn opgeslagen. U kunt de levensduur van de cache wijzigen door de waarde ervan aan te passen in jaren (jaar), maanden (maand) of bijvoorbeeld seconden (seconden):

#Versterk caching
FileETag MTime-grootte


Verloopt Actief op
VerlooptStandaard “toegang plus 1 maand”


In het voorbeeld is 1 maand weergegeven.

16. “Categorie” uit de URL verwijderen
Om de link te wijzigen van http://uwdomein.com/category/news naar http://uwdomein.com/news, voegt u eenvoudig de volgende code toe aan het einde van uw .htaccess-bestand:

#Categorie verwijderen uit URL
RewriteRule ^category/(.+)$ http://www.uwdomein.com/$1

Vergeet niet http://www.uwdomein.com te wijzigen in uw domeinnaam.

17. Wij verbieden het bekijken van de inhoud van de map
Om de toegang te beperken tot mappen die verschillende informatie kunnen bevatten en om de serverbeveiliging te garanderen, voegt u deze code toe aan het .htaccess-bestand:

#Schakel het bekijken van de inhoud van de map uit
Opties Alle -Indexen

Er is een alternatieve oplossing die hetzelfde resultaat oplevert door een leeg index.html-bestand in elke map op uw site te plaatsen. Deze methode werkt alleen als u de standaardpagina niet heeft gewijzigd (zie regel 12). Als er wijzigingen zijn aangebracht, moet u de bestanden plaatsen met de nieuwe naam die u als standaardpagina hebt ingesteld.

18. Stuur de WordPress RSS-feed door naar FeedBurner
Met deze code kunt u de CMS WordPress RSS-feed omleiden naar de Google Feedburner-service:

#Redirect WordPress RSS-feed naar FeedBurner

RewriteEngine aan
RewriteCond %(HTTP_USER_AGENT) !FeedBurner
RewriteCond %(HTTP_USER_AGENT) !FeedValidator
RewriteRule ^rss.xml$ http://feeds.feedburner.com/uwfeed

In eerste instantie moet u uw blogfeed registreren bij de Feedburner-service van Google. Vergeet vervolgens niet uw feed te vervangen door de naam van uw feed die al in Feedburner staat.

19. We verbieden reacties van gebruikers zonder verwijzer
Meestal hebben spambots rechtstreeks toegang tot het bestand wp-comments-post.php zonder uw blogpostpagina's te bezoeken. Met de onderstaande code kunt u reacties blokkeren die zijn geplaatst door gebruikers die “uit het niets” kwamen, waardoor reacties mogelijk zijn voor lezers die vanaf andere pagina’s naar uw blogpagina zijn gekomen (bijvoorbeeld de zoekresultaten van Google, Yandex, enz.):

#We verbieden reacties van gebruikers zonder verwijzer
RewriteEngine Aan
RewriteCond %(REQUEST_METHOD) POST
RewriteCond %(REQUEST_URI) .wp-comments-post\.php*

RewriteCond %(HTTP_REFERER) !.*uwblog.com.*
RewriteCond %(HTTP_USER_AGENT) ^$
Herschrijfregel (.*) ^http://%(REMOTE_ADDR)/$
Vergeet niet uwblog.com te vervangen door de domeinnaam van uw blog.

20. Verwijder de bestandsextensie van de URL
Met deze code kunt u de bestandsextensie .php verwijderen (u kunt deze in iets anders wijzigen, zoals t2.html) van pagina-URL's:

#Verwijder bestandsextensie van URL
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

21. Bescherming van de site
Met deze code kunt u uw site beschermen tegen scriptinjectie en ongewenste wijzigingen "_REQUEST" en/of "GLOBALS":

#Schakel het volgen van simlinks in
Opties +VolgSymLinks
#Start url_rewriting
RewriteEngine Aan
#Blokkeer alle links die deze bevatten
HerschrijfCond %(QUERY_STRING) (\|%3E)
#Blokkeer alle scripts die PHP Globals-variabelen proberen te wijzigen:
RewriteCond %(QUERY_STRING) GLOBALS(=|\[|\%(0,2))
#Blokkeer alle scripts die proberen de variabele _REQUEST te wijzigen:
RewriteCond %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))
#Omleiding van alle vergelijkbare pagina's naar een pagina met fout 403 - verboden
RewriteRule ^(.*)$ index.php

Vandaag wil ik het hebben over htaccess, een bestand waarmee je de Apache-webserver kunt configureren. De richtlijnen die in dit bestand zijn geschreven, hebben rechtstreeks invloed op de uitvoer die door de webserver wordt gegenereerd. Deze tool is behoorlijk krachtig, je moet hem verstandig gebruiken. Dit artikel is meer dan zes maanden geleden geschreven, nu keer ik er opnieuw naar terug om er de meest gedetailleerde handleiding over dit onderwerp van te maken.

Laat me je er meteen aan herinneren dat voordat je iets verandert in htaccess, je een kopie moet maken van je werkbestand op een afgelegen plek. Je weet maar nooit, een back-up is over het algemeen een goede zaak, vergeet het niet. Ik zal het artikel in verschillende subsecties verdelen: pagina-omleiding, het blokkeren van de toegang tot bepaalde bestanden, siteversnelling en andere dingen die op de een of andere manier nuttig kunnen zijn bij de werking van de bron.

Om te beginnen een paar woorden: wat is htaccess? Ik citeer de officiële website van de Apache-webserver:

Met Htaccess-bestanden (of "gedistribueerde configuratiebestanden") kunt u een groot aantal extra parameters en machtigingen instellen voor de werking van de webserver in individuele mappen (mappen), zoals gecontroleerde maptoegang, opnieuw toewijzen van bestandstypen, enz., zonder het wijzigen van het hoofdconfiguratiebestand.

Dat wil zeggen dat we het gedrag van de server in elke afzonderlijke map kunnen controleren, wat erg handig is.

htaccess-richtlijnen. Omleiding

Hotlinks van andere sites blokkeren

Er zijn slechteriken die afbeeldingen uit uw bron kunnen gebruiken voor gebruik in hun projecten. Ze gebruiken uw afbeeldingen op hun sites, met andere woorden, ze gebruiken uw bandbreedte voor hun eigen doeleinden, vergelijkbaar met . We zullen ze bestrijden... We zullen elke foto waar een hotlink van een andere site naartoe leidt vervangen door een waarschuwingsafbeelding of wat je fantasie ook toelaat. Vergeet in de code niet de adressen in uw URL's te wijzigen.

RewriteEngine aan RewriteCond %(HTTP_REFERER) !^http://(.+\.)?uw-url\.com/ RewriteCond %(HTTP_REFERER) !^$ #Vervang het pad naar de afbeelding RewriteRule .*\.(jpe? g| gif|bmp|png)$ /images/noHL.jpg [L]

Stuur WordPress RSS-feeds door naar Feedburner

Ik denk niet dat iemand iets anders gebruikt dan Feedburner. Gebruiksvriendelijk, handig voor de blogeigenaar, wederom statistieken. Als je het nog niet hebt gebruikt, raad ik het ten zeerste aan. De onderstaande code stuurt al uw RSS-feeds door naar uw account. Vergeet niet het gewenste adres te plakken.

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/

In dit voorbeeld worden twee streams omgeleid: de hoofd-RSS en bijgewerkte opmerkingen als de bezoeker is geabonneerd op updates.

Laten we de foutpagina's wijzigen

Er kan van alles gebeuren met hosting en een website, dus u moet van tevoren voorbereid zijn op problemen en uw eigen foutpagina's maken. En bij problemen worden gebruikers doorgestuurd naar de juiste pagina. Op deze pagina's kunt u de gebruiker kort informeren over de reden waarom dit is gebeurd. Laat uw contacten achter als laatste redmiddel.

ErrorDocument 400 /errors/badrequest.html ErrorDocument 401 /errors/authreqd.html ErrorDocument 403 /errors/forbid.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/serverr.html #Vervang /errors/*.html door de pad naar uw foutpagina's

In dit voorbeeld wordt omgeleid in geval van grote fouten. Ik heb ook 404 toegevoegd, hoewel CMS dergelijke problemen meestal afhandelt, maar er zijn gevallen geweest.

301 en 302 omleiding of omleiding

Een 301-redirect of zogenaamde permanente redirect betekent dat de pagina zijn adres of URL heeft gewijzigd en doorverwijst naar een nieuwe pagina. Als u een geïndexeerde PS-pagina op uw site had en u het adres ervan hebt gewijzigd, zorg er dan voor dat u een 301-omleiding naar de nieuwe pagina maakt. Bij een 301-redirect wordt de oude pagina niet geïndexeerd en wordt er een nieuwe voor in de plaats gezet.

RewriteEngine op Redirect 301 /oude pagina http://uw-url.ru/nieuwe-pagina

Eigenlijk zal de oplettende lezer hierboven een soortgelijk voorbeeld zien, in het geval van RSS-omleiding. Ja, de technologie is hetzelfde.
Het komt voor dat een site naar een nieuw domein verhuist, je moet de structuur van de links behouden, en er kunnen er honderden en duizenden zijn, het is onrealistisch om voor elke link een omleiding in te stellen. De onderstaande code helpt u met deze situatie om te gaan:

Opties +VolgenSymLinks RewriteEngine op RewriteRule (.*)

Er bestaat een interessante techniek om externe links te “verbergen” met behulp van 301-omleidingen. Stel dat u een 'pass-through'-link in de zijbalk heeft die naar uw Google+ profiel leidt. Deze link is extern, dat wil zeggen dat deze naar een externe bron leidt. Het is erg goed voor SEO als er zo min mogelijk van dergelijke links zijn. Je kunt ze verbergen en intern maken.

Technologie voor het produceren van interne links van externe:

  • plaats een link naar een denkbeeldige pagina, bijvoorbeeld site/google-plus
  • een 301-omleiding instellen in htaccess van deze pagina naar de echte pagina van uw profiel
  • de bezoeker voelt niets, PS is tevreden

Op soortgelijke wijze kunt u andere voorwaardelijk permanente links instellen.
Een 302-omleiding of tijdelijke omleiding vertelt de server dat de pagina tijdelijk is verplaatst, dus beide pagina's, oude en nieuwe, moeten worden geïndexeerd.

RewriteEngine op Redirect 302 /oude pagina http://uw-url.ru/nieuwe-pagina

De code is precies hetzelfde als bij permanente omleiding.
302-omleiding is handig om te gebruiken wanneer er langdurig werk op de site wordt uitgevoerd en het niet nodig is om bezoekers “kapot” pagina’s te tonen. In dit geval zal deze code u helpen:

RewriteEngine op RewriteCond %(REQUEST_URI) !/inside.html$ RewriteCond %(REMOTE_ADDR) !^123.123.123.123 RewriteRule $ /inside.html

Wij lijmen websites met en zonder www

Het is heel erg als een site op twee adressen bereikbaar is; PS’ers houden daar echt niet van. Met de onderstaande code kunt u dit in één adres plakken:

Opties +FollowSymLinks RewriteEngine Aan RewriteCond %(HTTP_HOST) ^www.uw-url\.com$ RewriteRule ^(.*)$ http://uw-url.com/$1

In dit voorbeeld is de hoofdspiegel een adres zonder www. Als je het tegenovergestelde wilt doen, verwissel www dan op plaatsen, verwijder van boven, voeg hieronder toe.

Pagina's weergeven afhankelijk van IP SetEnvIf REMOTE_ADDR 192.168.0.1 REDIR="redir" RewriteCond %(REDIR) redir RewriteRule ^/$ /about.html

U kunt adressen toevoegen door de eerste regel te dupliceren en op de laatste regel de pagina te wijzigen voor omleiding.

Omleiden naar huis

Omleiding van site.com/index.php en site.com/index.html naar site.com/. Met dank aan Vasily Krasnozhenov voor de code.

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://site.com RewriteCond %(THE_REQUEST) ^(3,9)\ /index\. php\ HTTP/ RewriteRule ^index\.php$ http://site.com

htaccess-richtlijnen. Wij delen de toegang

Toegang tot de site weigeren

Het komt voor dat het nodig is om bezoekers vanaf een bepaald IP-adres, spammers of iemand anders slecht de toegang te weigeren.

Bestelling Toestaan,Weigeren Toestaan ​​van iedereen Weigeren vanaf 192.168.0.1

U kunt een IP-adres aan de lijst toevoegen door simpelweg de laatste regel toe te voegen en het adres daar te wijzigen in het gewenste adres.
In de tegenovergestelde situatie, wanneer iedereen moet worden verbannen, behalve enkele IP's, gebruiken we de volgende code:

Bestelling weigeren, toestaan ​​Weigeren van iedereen Toestaan ​​vanaf 192.168.0.1

Voeg adressen toe die vergelijkbaar zijn met het vorige voorbeeld.

Wij verbieden het bekijken door ongewenste User-Agents

Elke browser of applicatie die op de een of andere manier een pagina opvraagt, heeft een identificatie: User-Agent. Je kunt voorkomen dat ongewenste vrienden kijken. Dit kunnen programma's zijn die websites scannen of oude browsers waarvoor u de ondersteuning volledig hebt opgegeven. Situaties zijn anders.

SetEnvIfNoCase user-Agent ^FrontPage SetEnvIfNoCase user-Agent ^Java.* SetEnvIfNoCase user-Agent ^Microsoft.URL SetEnvIfNoCase user-Agent ^MSFrontPage Order Toestaan,Weigeren Toestaan ​​van iedereen Weigeren van env=bad_bot

Een volledige lijst met bekende User-Agents is te vinden op de website http://www.user-agents.org/

Toegang tot een specifiek bestand weigeren

In het voorbeeld is toegang tot de wp-config- en htaccess-bestanden verboden, waardoor het algehele beschermingsniveau wordt verhoogd. Een zeer noodzakelijke richtlijn, ik raad aan deze aan uw bestanden toe te voegen

# bescherm wpconfig.php bestelling toestaan, weigeren weigeren van iedereen # bescherm htaccess bestelling toestaan, weigeren weigeren van iedereen

Op dezelfde manier kunt u CSS- en js-bestanden beschermen die door plug-ins worden gebruikt:

Bestel toestaan, weigeren van iedereen

Download specifieke bestandstypen

Moderne browsers zijn zo slim dat het soms eng wordt. Mijn Chrome probeert soms PDF-bestanden in zichzelf te openen om ze te bekijken, en hangt zichzelf soms dood. Met htaccess kun je de browser met geweld vertellen wat hij met een bepaald type bestand moet doen, zonder dit moment aan zijn eigen oordeel over te laten. In dit geval is het aan het downloaden. Extra bestandstypen kunnen op een vergelijkbare manier worden toegevoegd.

AddType-toepassing/octet-stream .pdf AddType-toepassing/octet-stream .zip AddType-toepassing/octet-stream .avi

Beperking op toegang tot het WordPress-beheergebied

Als u een permanent IP-adres heeft, kunt u dit alleen toegang geven tot het WordPress-beheerderspaneel

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Voorbeeld toegangscontrole" AuthType Basisvolgorde toestaan, weigeren weigeren van alle toestaan ​​vanaf uw IP

htaccess-richtlijnen. Technische optimalisatie en versnelling

Schakel automatische indexering van bestanden uit

In elke map op de site maakt Apache standaard indexbestanden aan waarin wordt vermeld welke bestanden zich in de map bevinden. Als je geen extra maas in de wet voor aanvallers wilt bieden, schakel dan de indexering uit.

Opties -Indexen

Schakel gzip-compressie in

Weet u dat gegevens op de server kunnen worden gecomprimeerd en dat de client deze uitpakt? De onderstaande code bevat zoiets. U hoeft er alleen maar voor te zorgen dat gzip is ingeschakeld op uw hosting, maar meestal is dit het geval.

ForceType tekst/javascript Headerset Inhoudscodering: gzip ForceType tekst/css Headerset Inhoudscodering: gzip ForceType tekst/javascript RewriteEngine Aan RewriteCond %(HTTP_USER_AGENT) !".*Safari.*" RewriteCond %(HTTP:Accept-Encoding) gzip RewriteCond %(REQUEST_FILENAME).gz -f RewriteRule (.*)\.js$ $1\.js.gz [L] ForceType tekst/javascript ForceType tekst/css RewriteEngine aan RewriteCond %(HTTP_USER_AGENT) !".*Safari.* " RewriteCond %(HTTP:Accept-Encoding) gzip RewriteCond %(REQUEST_FILENAME).gz -f RewriteRule (.*)\.css$ $1\.css.gz [L] ForceType tekst/css

De code werkt niet voor afbeeldingen, maar het wordt niet aanbevolen om gzip erop te gebruiken. Dit is precies de code die ik heb geïnstalleerd.

Compressie met mod_deflate

Het gerucht gaat dat deze mod gegevens beter comprimeert en de site sneller laat werken. Ik kan niet testen en ik heb dergelijke tests niet op internet gezien. Als iemand dergelijke informatie heeft, zou ik dankbaar zijn. Ik zal de code posten, je weet maar nooit

SetOutputFilter DEFLATE

Schakel clientbrowsercaching in

Een interessante richtlijn waarmee u browsercaching kunt gebruiken. De opgegeven bestandstypen worden naar de browsercache geschreven en van daaruit geladen wanneer ze opnieuw worden aangeroepen, wat de algehele laadsnelheid van de site aanzienlijk versnelt en uw hosting minder belast.

Header toevoegen Cache-Control "privé" FileETag MTime Grootte ExpiresActive On ExpiresDefault "toegang plus 0 minuten" ExpiresByType image/ico "toegang plus 1 jaar" ExpiresByType tekst/css "toegang plus 1 jaar" ExpiresByType tekst/javascript "toegang plus 1 jaar" ExpiresByType image/gif "toegang plus 1 jaar" ExpiresByType image/jpg "toegang plus 1 jaar" ExpiresByType image/jpeg "toegang plus 1 jaar" ExpiresByType image/bmp "toegang plus 1 jaar" ExpiresByType image/png "toegang plus 1 jaar"

Geef de standaardcodering op

WordPress werkt met UTF8-codering en doet het goed, maar om er zeker van te zijn dat u problemen met de codering voorkomt, moet u het specificeren. Het zal niet erger zijn.

AddDefaultCharset UTF-8

Beperking van het aantal verbindingen met de site

Moderne browsers kunnen meerdere gelijktijdige verbindingen tot stand brengen met de server die de site bedient. Als u niet over voldoende middelen beschikt, kunt u het aantal verbindingen beperken.

MaxClients

Wanneer de richtlijn in de hoofdmap wordt geplaatst, werkt deze voor de hele site, maar als u deze in de map plaatst met bestanden die u verzendt om te downloaden, kunt u het downloaden beperken tot meerdere threads.

PHP toestaan ​​om in JavaScript te draaien

Soms moet u code in een script uitvoeren. Deze code helpt deze functie in te schakelen

AddType-toepassing/x-httpd-php .js AddHandler x-httpd-php5 .js SetHandler-toepassing/x-httpd-php

Dat is het voor htaccess en het standaardgebruik ervan. Ik heb het beschermen van mappen met wachtwoorden niet genoemd omdat ik denk dat dit niet juist is, of het “beschermen” tegen spam door verzoekverzoeken te blokkeren zonder de Verwijzer door te sturen, omdat alle moderne spammachines dit al heel lang kunnen doen. Nou ja, en andere dingen waarvan ik denk dat ze niet correct zijn geïmplementeerd.

Tenslotte wil ik u kennis laten maken met een dienst voor het testen van uw htaccess-bestand - http://htaccess.madewithlove.be/. Het is simpel: fijne dag verder


Opmerkingen: 112

  • Constantijn

    Alles is in orde, alleen mijn site verwijst door naar pagina 404 en de server retourneert code 200.
    Kun je me vertellen hoe ik het kan repareren?

  • Markering

    Bedankt voor het gedetailleerde artikel!

  • Roman

    Vertel me, ik heb de sectie, +300 pagina's, verwijderd, hoe ik van alle pagina's van de sitesectie naar de hoofdsectie kan omleiden. Welke code, voorwaarde moet ik daarnaast toevoegen? Herschrijfregel ^raznoe(.*)$ /

  • Serge Holmberg

    Bedankt voor het artikel. Zeer nuttig artikel. Ik wil graag meer weten. Hoe kunnen we ervoor zorgen dat toegang tot de sitemappen alleen mogelijk is via index.html en niet rechtstreeks? Laat het me uitleggen. Ik heb veel onderling verbonden pagina's in mijn catalogus. Ik kan ze echter allemaal afzonderlijk vanuit de browser opvragen. Die. Er is bijvoorbeeld een pagina page_1.html in de hoofdmap. De ingang ervan komt van index.html (daar staat een knop). Ik kan de pagina page_1.html echter afzonderlijk downloaden via http://www.mysite.com/main/page_1.html. Hoe u dit kunt voorkomen, hoe u ervoor kunt zorgen dat alleen index.html beschikbaar is voor sitebezoekers en daardoor toegang krijgt tot andere pagina's. Dat wil zeggen dat uitwisseling tussen pagina's alleen intern op de server mogelijk was. Bezoekers kunnen dan niet willekeurig pagina's op de site openen. Bij voorbaat dank. Bedankt.

  • Victor

    Hallo! Bedankt voor het artikel! Nu ben ik net mijn eerste website aan het opzetten. Ik heb het aandachtig gelezen, nogmaals bedankt! Ik heb een vraag over het beveiligen van bepaalde typen bestanden.
    Je schreef:
    “Op dezelfde manier kun je css- en js-bestanden beschermen die door plug-ins worden gebruikt:
    #
    #bestelling toestaan, weigeren
    #toestaan ​​van iedereen
    #
    -einde citaat
    Is er een typefout in de voorlaatste regel code? Als we deze bestanden willen beschermen, moet DENY er misschien zijn? Of mis ik iets?

  • pruimenclub

    Heel erg bedankt voor het artikel, ik heb al lang niet meer zo'n duidelijke en begrijpelijke uitleg gezien. Respect

  • Donnelligh

    Het is te laat om Borjomi te drinken als je nieren in het toilet zitten!

  • Andrej

    Leuk artikel! Bedankt!

    Ik heb een vraag.

    Ik heb nog een oude site in .ASP, ik besloot deze opnieuw te maken, het type webserver te wijzigen, WordPress daar te installeren en dienovereenkomstig moest ik alle oude pagina's van de site verwijderen omdat... Het werkt niet onder de ASP-app. Ik wil helemaal niet dat ze ontoegankelijk worden, dus heb ik een subdomein gemaakt (http://www.old.mysite.ru) en al het oude daarheen verplaatst en alles werkt daar.

    Nu moeten we ervoor zorgen dat als de gebruiker een ASP-pagina bezoekt, hij automatisch wordt doorgestuurd naar het subdomein http://www.old.mysite.ru, d.w.z. voer ALLEEN een omleiding uit voor ASP-pagina's, stuur anderen niet om.

    en “www” kan wel of niet in het adres voorkomen

      Ik weet niet zeker wat je moet lijmen. Geef op een van de pagina's een verbod op indexering aan en dat is alles

  • zeleniyalex

    Hallo.
    Bedankt voor het artikel, uitstekend materiaal, toegevoegd aan bladwijzers.
    Ik heb een vraag. Ik ben overgestapt naar de service die je hebt opgegeven voor het controleren van het htaccess-bestand.

    De jouwe ingevoerd:
    # BEGIN WordPress

    RewriteEngine Aan
    Herschrijfbasis /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %(REQUEST_FILENAME) !-f
    RewriteCond %(REQUEST_FILENAME) !-d
    Herschrijfregel. /index.php [L]

    Ik kreeg dit resultaat:
    # BEGIN WordPress
    1
    2 RewriteEngine Aan
    3 Herschrijfbasis /
    4 RewriteRule ^index\.php$ - [L]
    5 RewriteCond %(REQUEST_FILENAME) !-f ——————— Deze variabele wordt niet ondersteund: %(REQUEST_FILENAME)
    6 RewriteCond %(REQUEST_FILENAME) !-d ——————— Deze variabele wordt niet ondersteund: %(REQUEST_FILENAME)
    7 Herschrijfregel. /index.php [L], ——————— Aan deze regel is niet voldaan omdat aan een van de voorwaarden niet is voldaan
    8
    9#EIND WordPress

    Wat betekenen de opmerkingen bij paragrafen 5,6,7?
    Bedankt.

  • Anti-uit

    Victor, vertel me alsjeblieft dat je, om een ​​lijmverbinding te maken, de URL van je site moet invoeren. Het punt is: ik begrijp het niet. Verandert de com in de richtlijn zelf of blijft deze bestaan?
    Welke optie is juist (met uw site als voorbeeld)?

    Opties +VolgSymLinks
    RewriteEngine Aan
    RewriteCond %(HTTP_HOST) ^www.gering111\.com$
    Herschrijfregel ^(.*)$

      De tweede optie is correct, de site is een voorbeeld. In jouw geval kan dit site.ru of site.org zijn

  • Oleg

    Mega nuttig artikel!!!
    Maar de bestandscaching van de client is niet Cache-Control “openbaar”, maar Cache-Control “privé”.
    Openbaar - op de proxyserver

      Precies! Bedankt voor uw aandacht

  • Alexander

    Hallo!
    Er was een site als site.ru/club/. Het is noodzakelijk om alle pagina's van deze site om te leiden naar één pagina van een nieuwe met ongeveer de volgende structuur: new-site.ru/step/stranica.html.
    Vertel me alsjeblieft hoe ik dit correct kan doen via htaccess?

  • Michaël

    Goededag. Ik wilde je waarschuwen dat het gebruik van deze code
    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/
    RewriteRule ^index\.html$ http://site.com
    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://site.com
    kan de toegang tot het beheerderspaneel van de site blokkeren, dit overkwam mij met CMS ShopScript en VamShop

      Ik gebruik deze code met WP, ImageCMS - alles is in orde, geen problemen. Eigenlijk heb ik het niet op andere systemen getest, dus ik zal niets zeggen.

  • Vlad

    Bedankt! eindelijk is alles voor mij gelukt met gzip!!!

  • Roman
  • Michaël

    Vraagje over doorverwijzing.
    Het is noodzakelijk om naar de ene pagina te gaan als we toegang krijgen via een browser, maar naar een andere pagina als we via een mobiele applicatie (geen mobiele browser) gaan. Bovendien is er in beide opties een persoonlijke link naar de root van de site.

      Vasily, ik heb nog nooit zoiets gezien, eerlijk gezegd...

  • praktijk_man

    Overal zijn er alleen algemene beschrijvingen van HTACCESS, en er zijn weinig echte voorbeelden; het zou ook leuk zijn om de syntaxis te beschrijven van wat met wat wordt gebruikt.

  • praktijk_man

    Kun jij helpen als iemand het antwoord weet?
    Er is een catalogus

    http://site.ru/catalog.php/ (een aantal verschillende pagina's)
    en zodat het wordt overgedragen van elk ingevoerd adres dat begint met catalog.php naar:

    http://site.ru/products/10
    en er werd niets meer toegevoegd. dat wil zeggen, om eenvoudigweg door te verwijzen naar de map.

    Ik heb het geprobeerd via RedirectMatch ^catalog\.php(.+) http://site.ru/products/10
    Zo werkt het niet ((

  • Ik kan je nog niet helpen, ik zit ver van de computer. Op het eerste gezicht is alles in orde. Hoogstwaarschijnlijk is er een probleem met de syntaxis, maar u moet dit controleren

  • praktijk_man

    dat wil zeggen dat zowel de map als de pagina-extensie zijn gewijzigd, maar de productnaam blijft hetzelfde.

    Ik heb een redirect gemaakt in de vorm:
    RewriteRule ^content/(.+)$ http://site.ru/nieuwe map/$1.html
    En het werkt niet ;(
    Wat is het probleem?