U bent hier

.htaccess op een Windows webserver

 

Al geruime tijd werk ik met een Windows webserver.
De eerlijkheid gebied mij te zeggen dat ik begonnen met een Windows computer waarop ik Apache, PHP en MySQL installeerde.

Pas later is daar de Windows server bij gekomen.
En geruime tijd daarna ging ik een virtuele Linux server gebruiken.

En toen waren de verschillen pas goed duidelijk.
Het gemis van .htaccess werd wel heel erg duidelijk.

Wat is .htaccess eigenlijk?

A .htaccess (hypertext access) file is a directory-level configuration file supported by several web servers,
that allows for decentralized management of web server configuration.

The original purpose of .htaccess - reflected in its name - was to allow per-directory access control,
by for example requiring a password to access the content.
Nowadays however, the .htaccess files can override many other configuration settings
including content type and character set, CGI handlers, etc.

These files are placed inside the web tree,
and are able to override a subset of the server's global configuration for that directory,
and all sub-directories. (Bron Wikipedia)

 

En in gewoon Nederlands staat er dat deze file (eigenlijk wordt de extensie gebruikt als filenaam (Windows haat dit))
je in staat stelt om per directory de globale webserverinstellingen aan te passen en naar je hand te zetten.

Hier ga ik het gebruiken om zo'n soort mechanisme toch op een Windows server te gebruiken en bijvoorbeeld om binnen Codeigniter de index.php file niet te laten tonen.
Veel websites werken met een dergelijk mechanisme.
De grote CMS systemen zoals Typo3, Drupal, en Joomla maken hier veelvuldig gebruik van.
Dit ondermeer om meer leesbare URL's te krijgen en de website meer zoek vriendelijk te maken.
Een ander belangrijke reden is dat door dit mechanisme de veiligheid van een website voor een deel maar op één plek geregeld hoef te worden.

ht.acl

Leuk maar deze file werkte toch niet op een Windows web server.
Nee, de file .htaccess niet
maar de file ht.acl wel

En sterker nog
Als je file .htaccess hernoemt naar ht.acl zal deze direct werken.

De file ht.acl is een standaard file welke geaccepteerd wordt door een Windows machine.

 Dit maakt Windows direct van de file.

Wel dien je in de httpd.conf nog enige aanpassingen te doen.
Apache dient te weten dat hij naar deze file moet kijken en de rewrite module moet geladen zijn.
Pas de volgende zaken aan in de file httpd.conf en herstart vervolgens Apache

 
    pad naar de file httpd.conf  
C:/apache24/conf/httpd.conf
 
  AccessFileName  
#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName ht.acl .htaccess

en

  mod_rewrite.so  
#
# Dynamic Shared Object (DSO) Support
#

LoadModule rewrite_module modules/mod_rewrite.so

Veel programmeer plezier ermee.

Tot ziens,

Ubel Jan van Wijhe
van Wijhe Consultancy
E-mail naarinfo@vanwijhecons.nl