De voor- en nadelen van een .htaccess bestand

door op 09 dec 2009, in Helpdesk, Nieuws, Ontwikkeling, Programmeren, Tips & trucs

paper stackEr wordt veel geschreven over het .htaccess bestand, maar was is het en wat kan ik er mee? Om dit te begrijpen leggen wij eerst uit waarvoor we het kunnen gebruiken. Een .htaccess (HyperText Access) bestand is een simpel stukje tekst met daarin server-specifieke mogelijkheden om een aantal opties voor uw website te kunnen regelen door een webserver. De voordelen zijn groter dan de nadelen en scheelt behoorlijk wat programmeercode wanneer je website dagelijks wordt gebruikt . Dode verwijzingen, hoe een browser omgaat met bepaalde foutmeldingen, veranderen van domeinnamen of URLs en het blokkeren van onnodige gasten op de website is iets wat iedereen wel eens is overkomen. Later zullen wij hier dieper op ingaan met een paar eenvoudige voorbeelden.

De nadelen

Helaas kleven er ook een paar nadelen aan. Een klein typefoutje geeft namelijk een algemene fout (500 Internal Server Error). Het kan dus erg lastig zijn om een gemaakte fout te vinden of te herstellen. Ook worden .htaccess files door hackers gebruikt om websites te verwijzen naar bijvoorbeeld phishing of malware websites zelfs voordat uw eigen indexpagina zal worden geladen. Deze code staat dus niet in de HTML/PHP indexpagina maar in de .htaccess op uw ftp.

Bij mijndomein zijn (helaas) niet alle mogelijkheden van de webserver beschikbaar. Zo is het niet mogelijk om php_values of php_flags te gebruiken. Deze kunnen gebruikt worden om domein-specifieke instellingen op de server te kunnen maken. Bijvoorbeeld om meer geheugen op een website toe te kennen, of een andere bestandsgrootte te kiezen voor het uploaden van bestanden vanaf een website. Mijndomein heeft deze standaard instellingen al (in de php.ini) op de server ingesteld en kan om die reden dus niet worden overschreven door het in de .htaccess op te geven.

Ook de regel Options +FollowSymLinks is niet bij mijndomein mogelijk, maar mocht u deze regel tegenkomen in uw .htaccess kunt u door middel van het hekje (#) er voor te plaatsen de betreffende regel uitschakelen.

Een .htaccess bestand is dus een configuratie bestand. Deze is standaard door de webserver onzichtbaar op uw ftp omdat het geen bestandsnaam heeft (en direct begint met een punt). Mocht u problemen hebben met het terugvinden van uw .htaccess bestand die u op uw ftp heeft geupload, raden wij u aan om eerst deze handleiding te lezen. Hierin wordt uitgelegd hoe u onzichtbare bestanden op uw ftp weer zichtbaar kan maken.

De voordelen

Wat is er dan wel mogelijk? We geven een aantal voorbeelden. Uiteraard zijn er nog veel meer dingen mogelijk en kunt u het zo uitgebreid maken als u wenst.

  1. Het maken van zelfgemaakte Error pagina’s.
  2. Het doorverwijzen van oude links naar de juiste pagina of website.
  3. Bepaalde gebruikers weren of juist specifiek toelaten op uw website via ipadres.
  4. Bepaalde website(s) weren of juist specifiek toelaten op uw website via domeinnaam.
  5. Onbekende bestandsextenties op uw website met MIME type toekennen.
  6. Bekende bestandsextenties als ‘downloadbaar’ opgeven.
  7. Het standaard verwijzen naar een andere indexpagina.
  8. De (gedeeltelijke) inhoud laten zien van een map op uw ftp.
  9. Beveiligen van bestanden en mappen op de ftp.
  10. Tegengaan van ‘hotlinken’ van uw bestanden in uw website.

Verder is de .htaccess map specifiek, en geldt voor de map waarin het zich bevindt maar ook voor alle submappen die er in die map staan. Als een .htaccess bestand dus in uw /public/sites/ folder staat zal het dus gelden voor ALLE domeinnamen die u op uw account heeft. Staat hij in /public/sites/www.uwdomeinnaam.ext/ dan geldt hij alleen voor de complete domeinnaam en in /public/sites/www.uwdomeinnaam.ext/test/ op de domeinnaam alleen in de map ‘test’ etc.

We gaan er in alle voorbeelden vanuit dat de .htaccess in de map /public/sites/www.uwdomeinnaam.ext/ wordt geplaatst tenzij anders aangegeven.

:, , , , , , , ,
Reageer hieronder op bovenstaand bericht.

10 reacties

  • Edwin

    Een vraagje waar ik al een tijdje mee zit;
    Kan ik met .htaccess ook dynamische subdomeinen maken?
    Bijvoorbeeld dat: http://admin.id.daworld.nl door linkt naar http://id.daworld.nl/admin
    Maar wanneer je admin vervangt door koekje dat de doorverwijzing ook veranderd naar http://id.daworld.nl/koekje ?
    (Dus dat ik niet overal een nieuw subdomein mapje voor hoef aan te maken)

    Ik heb het geprobeerd met de volgende code in /public/sites/ maar het werkte niet :-( :
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*).id.daworld.nl$ id.daworld.nl/$1 [R]

  • cary

    ik heb een Joomla site en wil htaccess.txt veranderen in .htaccess. ik wil dit om het SEF vriendelijker te maken. als ik dit verander krijg ik een 500 fout melding. Kan iemand mij helpen??
    Ik ben echt een leek met sites, svp evt tips in heel gewoon nederlands..

  • Maikel

    Search Engine Friendly URLs voor Joomla (SEFs) hebben een aantal aanpassingen nodig om correct te werken, hieronder de vier makkelijke stappen.

    1) De bestandsnaam htaccess.txt moet worden aangepast naar .htaccess
    2) U dient in dit .htaccess bestand een hekje te zetten voor de regel Options +FollowSymLinks, of de regel te verwijderen.
    3) In diezelfde .htaccess dient u bij de regel RewriteBase / het hekje te verwijderen.
    4) In het bestand configuration.php bij de regel $var live_site=”; tussen de aanhalingstekens uw domeinnaam (incl. http://www.) te zetten.

  • Jey

    Stel je voor dat je website veel beter wordt gevonden door Google omdat je SEO vriendelijke URLs maakt op je website die gehost staat op mijndomein.nl.

    Ik denk dat dit om deze redenen uitgezet is om te voorkomen dat een goeddraaiende website opeens meer traffic gaat genereren door bijvoorbeeld viral content.

    Alsnog heel heel heel heel heel jammer dat ik hierdoor mezelf moet gaan verplichten om te verhuizen als ik mijn website nog verder wil gaan ontwikkelen.
    Service is voor de rest wel goed alleen vind ik deze beperking toch een dikke -1.

    Wat niet gaat dat gaat natuurlijk niet,
    Jammer de bammer

  • Elvis Poldervaart

    Hoi Allemaal,

    Ik ken en heb totaal geen verstand van html of flash enzo…
    Ben meer van WYSIWYG programma’s…

    Wil 2 dingen vragen als dat mag,

    Heb dit bestand te maken dat links (youtube) in een SWF player ook niet meer werken?

    En ik ken deze bestand niet vinden in mijn FTP?!(en ja show hidden files staan aan;))
    Allen lades nagekeken maar zie helemaal niks…hummm

    gr

    • Ewout

      Ik zie geen .htaccess bestand staan in uw mappen. Ik denk niet dat hij er is. Verder lijkt het niet werken van de filmpjes te liggen aan het feit dat de paden niet goed staan. Wat werkt op uw eigen computer kan niet werken op de server, omdat de paden naar de bestanden dar anders zijn.

      voor een meer diepgravend onderzoek en antwoord stuur even een email naar support@mijndomein.nl met de problemen.

  • Astrid

    Waarom dan mensen in de war brengen met die totaal onzinnige opmerking hier
    http://nieuws.mijndomein.nl/2009/08/30/maak-je-website-met-een-cms-joomla/

    Dat ze voor het installeren hun htacces.txt bestand moeten aanpassen??????????

Laat een reactie achter