nl.hideout-lastation.com
Paradijs Voor Ontwerpers En Ontwikkelaars


Ontwerpers en ontwikkelaarshandleiding Naar .htaccess

Onder de vele verschillende hulpmiddelen voor het aanpassen van uw webserver, is het .htaccess-configuratiebestand een enorme troef. U kunt documenttypen, ontleedmotoren, URL-omleidingen en vele andere cruciale functies snel opnieuw instellen . Webmasters die niet erg technisch zijn, komen mogelijk niet in op de details van het beheren van uw eigen .htaccess-bestand. Maar het onderwerp zelf is fascinerend en een onderzoek waard.

Voor dit artikel wil ik een aantal van de meer doelgerichte concepten voor webmasters en webontwikkelaars presenteren. Iedereen die zijn eigen website op een Apache-server start, wil absoluut weten hoe het .htaccess-bestand moet worden beheerd. Het biedt zoveel aanpasbaarheid en het werkt in alle webtalen van PHP tot Ruby.

Onderaan dit bericht heb ik een aantal externe webapps toegevoegd om nieuwkomers te helpen dynamisch hun .htaccess-bestanden te genereren .

Waarom een ​​.htaccess-bestand gebruiken?

Dit is een geweldige vraag en misschien moeten we beginnen met het beantwoorden van "wat is een .htaccess-bestand"? Het is een heel speciaal configuratiebestand dat door de Apache-webserver wordt gebruikt. Een .htaccess-bestand kan de webserver vertellen hoe verschillende vormen van informatie moeten worden gepresenteerd en hoe verschillende HTTP-verzoekheaders moeten worden verwerkt.

Het is echt een middel tot decentralisatie om webserverinstellingen te organiseren. Eén fysieke server kan 50 verschillende websites bevatten met elk een eigen .htaccess-bestand. Het verleent veel macht aan webmasters, wat anders onmogelijk zou zijn. Maar waarom zou u er een gebruiken?

De grootste reden is beveiliging. U kunt bepaalde mappen blokkeren of beveiligen met een wachtwoord . Dit is geweldig voor privéprojecten of nieuwe Content Management Systemen waar u een beetje extra beveiliging wilt. Maar er zijn ook veelvoorkomende taken, zoals het omleiden van 404 foutmeldingen naar een bepaalde webpagina. Dit kost maar één coderegel en het kan een dramatische invloed hebben op hoe bezoekers reageren op ontbrekende pagina's.

Eerlijk gezegd is er niet veel dat ik kan zeggen om anderen ervan te overtuigen dat een .htaccess-bestand de moeite waard is om te begrijpen. Zodra je het in actie ziet, kun je alle waarde herkennen die uit dit kleine configuratiebestand komt. Ook hoop ik dat de rest van dit artikel enkele inzichtelijke onderwerpen kan presenteren om webmasters in het licht te plaatsen van het beheren van een .htaccess-configuratie.

Toegang toestaan ​​/ weigeren

Het is mogelijk om potentiële spambezoekers te herkennen en hen toegang tot uw website te ontzeggen. Dit kan een beetje extreem zijn, maar als u weet dat een persoon of groep mensen uw website heeft getarget, zijn er enkele opties waaruit u kunt kiezen. U kunt een domeinverwijzing kiezen om bezoekers door een IP-adres te weigeren of te verbieden.

 order toestaan, ontkennen weigeren van 255.0.0.0 weigeren van 123.45.6. laat iedereen toe 

Deze voorbeeldcodes zijn gekopieerd uit de Htaccess Guide omdat ze het perfecte sjabloon zijn om te beginnen. Merk op dat het 2e IP-adres het vierde gehele getal mist. Dit codeblok target het eerste IP (255.0.0.0) en elk IP binnen het bereik van 123.45.6.0-255, en staat vervolgens al het overige verkeer toe. Webmasters mogen dit niet zo vaak gebruiken als andere technieken, maar het is nuttig om dit te begrijpen.

Vermijd directoryvermelding

Er zullen momenten zijn dat je een open map hebt die is ingesteld om standaard browsen toe te staan. Dit betekent dat gebruikers alle bestanden in een interne directorystructuur kunnen bekijken, zoals uw afbeeldingenmap. Sommige webmasters willen geen directoryvermelding toestaan ​​en gelukkig is het codefragment vrij gemakkelijk te onthouden.

 Opties -Indexen 

Ik heb dit antwoord talloze keren gezien tijdens Stack Overflow en het kan een van de makkelijkste .htaccess-regels zijn om te onthouden.

Het is mogelijk om meerdere .htaccess-bestanden te maken in elk van deze mappen, dus misschien is een van deze met een wachtwoord beveiligd, maar de andere niet. En u kunt de Options -Indexes nog houden zodat bezoekers niet door uw website / afbeeldingen / map kunnen bladeren.

Wachtwoord beveiliging

Het beveiligen van uw mappen met een wachtwoord is een zeer gebruikelijke procedure voor het beveiligen van administratieve gebieden en andere mappen die cruciaal zijn voor uw website . Soms wil je alleen toegang bieden aan een kleine groep mensen. Andere tijden zijn wachtwoorden om te voorkomen dat hackers toegang krijgen tot uw websitebeheerspaneel. Maar hoe dan ook, het is een zeer krachtige oplossing voor een hele reeks problemen.

Er is een handige handleiding over wachtwoordbeveiliging die de belangrijke codefragmenten beschrijft. U moet een wachtwoordbestand genereren dat de gebruikersnaam / wachtwoord-inloggegevens opslaat . Op deze manier kan Apache controleren wat de gebruiker invoert om te zien of ze toegang moeten krijgen. En merk op hoe u een voorbeeld voor uw gebruikersnaam en wachtwoord moet genereren.

Ik zou aanraden om deze htpassword-generator te gebruiken, zodat je wat tijd kunt besparen. De syntaxis komt altijd perfect uit en je hoeft het wachtwoord niet zelf te versleutelen . En de andere geweldige optie is om een ​​volledige directorylijst met een wachtwoord te beveiligen. We kunnen dit voorbeeld zien in de CSS-Tricks galerij met codefragmenten.

 AuthType Basic AuthName "Dit gebied is beveiligd met een wachtwoord" AuthUserFile /full/path/to/.htpasswd Vereist geldige gebruiker 

Beveiliging voor WordPress

Om dit wachtwoordbeschermingsidee goed te gebruiken, laten we een realistisch voorbeeld weergeven. Dit gecompliceerdere codefragment dwingt gebruikersverificatie voor iedereen die toegang heeft tot het WordPress wp-login.php-bestand . U zult de originele bron vinden op Ask Apache, die tal van andere WordPress-beschermingsfragmenten heeft.

 Order Deny, Allow Deny from All Voldoet aan elke AuthName "Beschermd door AskApache" AuthUserFile /web/askapache.com/.htpasswda1 AuthType Basic Vereist geldige gebruiker 

En als u deze .htaccess-regels gaat volgen, kan het ook helpen om het admin-gebied met een wachtwoord te beveiligen. Meestal krijgt het bestand wp-login.php de meeste treffers van mensen die proberen een brute aanval uit te voeren op uw systeem. Dus zelfs alleen de voorbeeldcodes hierboven zijn meer dan voldoende toegevoegde beveiliging voor uw WordPress-website.

HTTP-URL herschrijfregels

Het herschrijven van URL's is waarschijnlijk een van de meest gebruikte toepassingen voor .htaccess-bestanden. WordPress standaardinstallaties kunnen feitelijk een .htaccess-bestand genereren via het administratiepaneel . Hiermee kunt u mooie URL's maken die de structuur .php? P = 1 niet hebben.

Ik wil dit herschrijfvoorbeeld bekijken over het bijwerken van onderstrepingstekens naar streepjes, omdat het veel van de belangrijkste elementen bevat .

 Opties + FollowSymLinks RewriteEngine On RewriteBase / RewriteRule! \. (Html ​​| php) $ - [S = 4] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _] *) _ ( [^ _] *) _ (. *) $ $ 1- $ 2- $ 3- $ 4- $ 5 [E = uscor: Ja] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _ ] *) _ (. *) $ $ 1- $ 2- $ 3- $ 4 [E = uscor: Ja] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ (. *) $ $ 1- $ 2- $ 3 [E = uscor: Ja] RewriteRule ^ ([^ _] *) _ (. *) $ $ 1- $ 2 [E = uscor: Ja] RewriteCond% {ENV: uscor} ^ Yes $ RewriteRule (. *) Http: //d.com/$1 [R = 301, L] 

RewriteEngine en RewriteBase kunnen het meest altijd op deze exacte waarden worden ingesteld. Maar u moet de RewriteEngine ingeschakeld hebben om iets anders te laten werken. Er zijn veel online gidsen die uitleggen hoe je mod_rewrite kunt inschakelen en je hostingprovider kan ook helpen.

Let op de syntaxis volgt bovenaan een patroon van RewriteRules . Deze regels worden gebruikt om overeen te komen met zaken die worden verzonden als een HTTP-verzoek . Deze worden beantwoord door een RewriteRule die in dit geval alles doorverwijst naar het domein d.com . De eindhaakjes zoals [R = 301, L] worden herschrijfvlaggen genoemd die belangrijk zijn, maar eerder een geavanceerd onderwerp zijn.

De syntaxis van mod_rewrite is zeker een beetje verwarrend, maar wees niet geïntimideerd! De fragmenten kunnen er in andere voorbeelden een stuk eenvoudiger uitzien.

Als ik net aan de slag ga, moet ik deze mod_rewrite-webapp aanbevelen die u helpt codevoorbeelden te genereren met behulp van echte URL's. Dit is een briljante tool omdat je verschillende items in de syntaxis kunt opzoeken om te zien wat ze feitelijk doen in de Rewrite-regels. Hier is nog een geweldige tutorial met een eenvoudiger voorbeeld om te studeren:

 RewriteRule ^ dir / ([0-9] +) /? $ /index.php? Id =$1 [L] 

Probeer jezelf hierbij niet allemaal tegelijk te overbelasten. Het duurde 3-4 maanden voordat ik echt begon te begrijpen hoe ik URL's kon herschrijven met [0-9a-zA-Z] + en vergelijkbare patronen. Blijf oefenen en na verloop van tijd beloof ik je dat je dit soort dingen zult krijgen zoals het is gezond verstand.

Codefragmenten voor webmasters

Ik ben dol op gebruiksvriendelijke fragmenten en ik wil deze kleine verzameling toepasselijke .htaccess-codes voor webmasters samenstellen. Elk van deze ideeën kan netjes in uw eigen .htaccess-bestand passen, samen met andere codeblokken. De meeste van deze fragmenten zijn ideaal voor het oplossen van snelle problemen of oplossingen in uw webserveromgeving . Stel je de perfecte Apache-setup voor voor gloednieuwe webmasters die net online zijn begonnen.

DirectoryIndex instellen

De opdracht voor DirectoryIndex wordt meestal in één regel gebruikt. U kunt Apache vertellen welke documenten in eerste instantie moeten worden behandeld als het "hoofddocument". Standaard zal dit zich richten op items zoals index.html, index.php, index.asp en andere indexbestanden . Maar met behulp van dit codefragment dat ik hieronder heb gekopieerd, heb je de mogelijkheid om dit rootdocument te maken wat je maar wilt.

 DirectoryIndex index.html index.cgi index.php 

De volgorde van de documenten moet beginnen met de meest belangrijke en doorlopen de gelederen naar de minst belangrijke. Dus als we geen HTML- of CGI-bestand hebben, gaat de fallback naar index.php . En je zou deze bestanden naar huis kunnen noemen. Php of someotherfile.php en het is allemaal geldige syntaxis.

Forceer WWW of niet-WWW-subdomein

Google kan met beide versies van uw websitedomein werken als u geen www.domain.com of alleen domain.com opgeeft. In mijn ervaring is het een goede gewoonte om een van deze te kiezen en deze als de enige keuze via .htaccess in te stellen. Vervolgens indexeert Google verschillende URL's niet, sommige verwijzen naar het subdomein WWW, andere niet.

 # Forceer WWW-subdomein RewriteEngine On RewriteCond% {HTTP_HOST} ^ domain.com [NC] RewriteRule ^ (. *) $ Http://www.domain.com/$1 [L, R = 301] # Geen subdomein RewriteEngine On RewriteCond% {HTTP_HOST}! ^ Domain.com $ [NC] RewriteRule ^ (. *) $ Http://domain.com/$1 [L, R = 301] 

Dit codefragment komt uit een CSS-Tricks-archief en biedt een zeer handige oplossing. U moet het domein updaten om te zijn wat u nodig heeft voor uw eigen website. Anders zullen er problemen zijn en zul je meteen merken! Maar ik steun ten zeerste het forceren van een van deze twee opties en staat bovenaan mijn takenlijst na het lanceren van een nieuwe website.

Force Media File Downloads

Een ander redelijk belangrijk fragment maakt het mogelijk bepaalde mediatypen te dwingen om te downloaden in plaats van te worden weergegeven in de browser . Ik kan meteen denken aan PDF-documenten en MP3-audiobestanden die in een downloadbaar formaat kunnen worden gepresenteerd, maar hoe zorg je ervoor dat ze kunnen worden gedownload ? Ik vond een vergelijkbaar artikel gepubliceerd op Htaccess Guide dat dit codefragment beschrijft.

 AddType-toepassing / octet-stream .zip .mp3 .mp4 

Voeg aan het einde van deze regel nog meer bestandstypes toe. Alle media-indelingen met het octet-stream MIME-type kunnen worden gedownload. Dit via .htaccess forceren is een zeer directe manier om te zorgen dat mensen deze bestanden niet in de browser kunnen bekijken.

Aangepaste foutdocumenten

Een laatste laatste stuk dat ik wil toevoegen is een volledige sjabloon van aangepaste foutdocumenten. Meestal zijn deze cijfercodes alleen te zien aan de serverzijde. Maar er zijn veel van deze foutdocumenten die u bekend zou moeten zijn. Een paar voorbeelden zijn 403/404-fouten en de 301-omleiding .

Deze foutcodesjabloon begint bij 100 en gaat omhoog in 500 fouten . Houd er rekening mee dat u dit allemaal duidelijk niet nodig hebt. Alleen de meest voorkomende fouten zijn nodig en mogelijk enkele obscure fragmenten als u de behoefte voelt.

Als je een code niet herkent, zoek het dan op Wikipedia om een ​​beter begrip te krijgen.

 ErrorDocument 100 / 100_CONTINUE ErrorDocument 101 / 101_SWITCHING_PROTOCOLS ErrorDocument 102 / 102_PROCESSING ErrorDocument 200 / 200_OK ErrorDocument 201 / 201_CREATED ErrorDocument 202 / 202_ACCEPTED ErrorDocument 203 / 203_NON_AUTHORITATIVE ErrorDocument 204 / 204_NO_CONTENT ErrorDocument 205 / 205_RESET_CONTENT ErrorDocument 206 / 206_PARTIAL_CONTENT ErrorDocument 207 / 207_MULTI_STATUS ErrorDocument 300 / 300_MULTIPLE_CHOICES ErrorDocument 301 / 301_MOVED_PERMANENTLY ErrorDocument 302 / 302_MOVED_TEMPORARILY ErrorDocument 303 / 303_SEE_OTHER ErrorDocument 304 / 304_NOT_MODIFIED ErrorDocument 305 / 305_USE_PROXY ErrorDocument 307 / 307_TEMPORARY_REDIRECT ErrorDocument 400 / 400_BAD_REQUEST ErrorDocument 401 / 401_UNAUTHORIZED ErrorDocument 402 / 402_PAYMENT_REQUIRED ErrorDocument 403 / 403_FORBIDDEN ErrorDocument 404 / 404_NOT_FOUND ErrorDocument 405 / 405_METHOD_NOT_ALLOWED ErrorDocument 406 / 406_NOT_ACCEPTABLE ErrorDocument 407 / 407_PROXY_AUTHENTICATION_REQUIRED ErrorDocument 408 / 408_REQUEST_TIME_OUT ErrorDocument 409 / 409_CONFLICT ErrorDocument 410 / 410_GONE ErrorDocument 411 / 411_LENGTH_REQUIRED ErrorDocument 412 / 412_PRECONDITION_FAILED ErrorDocument 413 / 413_REQUEST_ENTITY_TOO_LARGE ErrorDocument 414 / 414_REQUEST_URI_TOO_LARGE ErrorDocument 415 / 415_UNSUPPORTED_MEDIA_TYPE ErrorDocument 416 / 416_RANGE_NOT_SATISFIABLE ErrorDocument 417 / 417_EXPECTATION_FAILED ErrorDocument 422 / 422_UNPROCESSABLE_ENTITY ErrorDocument 423 / 423_LOCKED ErrorDocument 424 / 424_FAILED_DEPENDENCY ErrorDocument 426 / 426_UPGRADE_REQUIRED ErrorDocument 500 / 500_INTERNAL_SERVER_ERROR ErrorDocument 501 / 501_NOT_IMPLEMENTED ErrorDocument 502 / 502_BAD_GATEWAY ErrorDocument 503 / 503_SERVICE_UNAVAILABLE ErrorDocument 504 / 504_GATEWAY_TIME_OUT ErrorDocument 505 / 505_VERSION_NOT_SUPPORTED ErrorDocument 506 / 506_VARIANT_ALSO_VARIES ErrorDocument 507 / 507_INSUFFICIENT_STORAGE ErrorDocument 510 / 510_NOT_EXTENDED 

Online .htaccess Webapps

  • Htaccess Builder
  • .htaccess redirect generator
  • .htaccessEditor - Maak een .htaccess-bestand
  • Mod Rewrite Generator door GenerateIt.net
  • DevGizmo htaccess Builder

Andere nuttige bronnen

  • .htaccess in Httpd Wiki
  • Officiële Apache htaccess-documentatie
  • Ask Apache Blog - Archieven van Htaccess
  • Ultieme gids voor htaccess en mod_rewrite
  • Alles wat u ooit wilde weten over Mod_Rewrite-regels, maar niet durfde vragen

Laatste gedachten

Er zijn zoveel ontelbare bronnen online die .htaccess-bestanden bespreken. Mijn gekoppelde artikelen en webapps zijn een geweldige plek om te beginnen. Maar blijf nieuwe ideeën oefenen en wees niet bang om codefragmenten uit te proberen . Zolang je een back-upbestand hebt, kun je alles uitproberen en is het een leuke leerervaring.

Als u andere ideeën of suggesties heeft over .htaccess-beheer, kunt u dit met ons delen op het onderstaande gebied voor nabesprekingen.

Gecanned reacties verzenden in Gmail [Quicktip]

Gecanned reacties verzenden in Gmail [Quicktip]

Ben je het zat om elke dag dezelfde e-mails te typen en te versturen? U weet wel, degenen die dezelfde boodschap bevatten, bijvoorbeeld een briefje dat kandidaten bedankt voor het solliciteren voor een vacature of een e-mail marketing van uw laatste advertentietarieven. In dit geval is het gebruik van CC en BCC geen optie, omdat u hun naam moet invoeren om uw e-mails gepersonaliseerd te laten lijken

(Technische en ontwerptips)

Stop met het bespreken van Design Minutia en begin met het nemen van de grote beslissingen

Stop met het bespreken van Design Minutia en begin met het nemen van de grote beslissingen

Zoveel ontwerpers verspillen hun tijd aan het overwegen van dingen die, op de lange duur, totaal nutteloos zijn voor hun ontwikkeling als creatieve professionals, freelancers of betere ontwerpers in het algemeen.Ze smeren weg naar zinloze details - welke lettergrootte hun naam op hun visitekaartje moet hebben; of ze die CTA-knop wit of blauw moeten maken - vraag je dan af waarom ze lijken geworteld te zijn in hun huidige situatie

(Technische en ontwerptips)