.htaccess (bewerken, specificaties)

De inhoud van het .htaccess bestand is onderdeel van de web server configuratie op een Linux server, vaak gebruikt om mod te herschrijven, maar het kan ook gevolgen hebben voor andere nuttige parameters. Verder op vindt U een aantal voorbeelden van het gebruik en van de syntax.  

 

Hoe wordt een .htaccess aangemaakt/bewerkt?

In het Controle Paneel is er een tool die het bewerken van bestaande bestanden mogelijk maakt en het bevat, als belangrijkste functie, de mogelijkheid om nieuwe bestanden te creëren met behulp van een grafische interface. U kunt ook een bestand aanmaken met een programma naar voorkeur en deze op de server plaatsen via FTP.

  1. Log in op het Controle Paneel.
  2. Kies voor welke hosting U de .htaccess wenst te bewerken (Diensten/Webhosting en servers/Virtual Server).
  3. Bij Dienst informatie, klik op de knop Instellingen bij Htaccess bestand bewerken.
  4. Hier kunt U de map selecteren waar U de .htaccess op wilt bewerken.( "/" is de root directory - dwz. ; www).
  5. Vul het gewenste .htaccess bestand in en bevestig de verandering door te klikken op de knop Bewaar.

Uitgebreide uitleg:

  1. Met uw inloggegevens gaat U het Controle paneel in. Als U niet over de juiste gegevens beschikt kunt U hier een niuew wachtwoord aanvragen.
  2. Als U bent ingelogd, kies de virtuele server waarop U de .htaccess wilt bewerken. (Diensten/Webhosting en servers/Virtual Server).                                                                                                 
  3. Bij Dienst informatie, klik op de knop Instellingen bij Htaccess bestand bewerken.                                                                                                                                                        
  4. Hier kunt U de map selecteren waar U de .htaccess op wilt bewerken.( "/" is de root directory - dwz. ; www)                                                                                                                            
  5. Vul het gewenste .htaccess bestand in en bevestig de verandering door te klikken op de knop Bewaar.

 

Bestaande instellingen configureren


htaccess instellingen gelden niet alleen voor de map waar het bestand zich bevindt, maar ook voor alle submappen, (kan, bijvoorbeeld,storing geven met de herschrijfregels). Bestaande instellingen kunnen altijd worden overschreven door een nieuwe .htaccess configuratie in de submap (die ook voor de submappen zullen gelden).

Belagrijk: Een foute configuratie zal leiden tot een "interne fout op de server"


Voorbeelden van de meest gebruikte instellingen. 

 

De toegang tot de directory beveiligen met een wachtwoord 


U kunt de toegang met een gebruikersnaam en wachtwoord configureren op een specifieke directory, bij  Diensten/Webhosting en servers/Virtual Server in het Controle Paneel door te klikken op de domeinnaam en te kiezen voor Instellen dan gaat U naar Bewerk .htaccess bestand

  1. Hier, in de gewenste map, kiest U "Creëer volgens template".

  2. Vul daarna de gewenste gegevens in en bevestig dit door op Creëer htacces te klikken.                                                                                                                      

  3. Om de gegevens te zien of om een nieuwe gebruiker aan te maken voor de directory,ga opnieuw naar Diensten/Webhosting en servers/Virtual Server van het Controle Paneel, klik op de domeinnaam en kies Instellen, dan gaat U naar Bewerk .htaccess bestand. Vervolgens klik op wachtwoorden bij de gewenste directory.                                                                                                                                                                                                                                                                                                                                                               

  4. bij het volgende venster kunt U een nieuwe gebruiker aanmaken, of een bestaande aanpassen/verwijderen.                                                                                                                                                                                                                                

Tip: De reeds aangemaakte login details, inclusief de wachtwoorden (gecodeerd), vindt U bij .htpasswd onderaan bij de instellingen. Ook heeft U de mogelijkheid een toegang te verwijderen (om het weer mogelijk te maken toegang te geven zonder wachtwoord) 

Webserverconfiguratie


# Opmerking - Alle tekst op de regel na het teken "#" wordt genegeerd door de server
# Hiermee kunt U notities schrijven voor een eventuele latere torevoeging 

Standaard configuratiebestand (index) directory - standaard
# De namen zijn gescheiden door een spatie, en hoofdletter gevoelig (index.php y Index.php zijn 2 verschillende bestanden)


DirectoryIndex: index.php index2.php index.htm index.html


# Directory inhoud te laten verwijderen uit de lijst  - Standaard uit
# Als er geen index bestand is (DirectoryIndex: index.php, index2.php index.htm index.html) i
n de directory ,moet U er een uploaden met eerder genoemde naam

Opties +Indexes


# Instellen van aangepaste foutpagina´s 
# Als adres, kunt u een URL specificeren of een relatief pad: het relatieve adres staat in de /www/ map

ErrorDocument 401 /route/archief401.html # (Dus de file locatie is /www/route/archivo401.html)
ErrorDocument 404 /route/archief404.html
ErrorDocument 500 /route/archivef500.html
ErrorDocument 503 http://domein.nl/route/archivo.html


Toegangscontrole 
# Activeer/de-activeer de toegang tot de directory via IP-adres

Allow from all # De standaardinstelling - staat toegang toe vanaf alle IP-adressen
Deny from all # Voorkomt de toegang vanaf alle IP-adressen (bijvoorbeeld,  PHP wordt lokaal verkregen in de directory)
Deny from 81.95.96.29 # Blokkeert de toegang vanaf bepaalde IP-adressen
Deny from 81.95.96 # Blokkeert de toegang vanaf een reeks IP-adressen 81.95.96.xx 


 PHP Configuratie

# Configuratie van het globals register
php_flag register_globals aan/uit

Configuratie magische quotes
php_flag magic_quotes_gpc on

Configuratie display fouten
php_flag display_errors on

#Configuratie max_input_vars 
php_value max_input_vars 5000 (of een ander nummer op basis van uw behoeften)

Sommige PHP-instellingen (bv memory_limit) kan niet worden ingesteld in .htaccess


 

Mod Rewrite


# Voordat regels worden vastgesteld, moet de rewrite ingeschakeld zijn
RewriteEngine On

# Redirect het subdomein: subdomein.domein.nl naar domein.nl/subdomein met 301
RewriteCond %{HTTP_HOST} ^subdomein\.domein\.es$
RewriteRule ^(.*)$ http://domein.nl/directorio [R,L]

# Redirect het domein  subdomein.domein.nl  naar domein.nl/subdomein
RewriteCond %{HTTP_HOST} ^subdomein.domein.nl [NC]
RewriteCond %{REQUEST_URI}  !^/subdomain/
RewriteRule ^(.*)$ /subdomein/$1 [L,QSA]

U vindt meer informatie over de mod rewrite hier:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

De-activeer eAccelerator

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0


 

Toepassen van HTTPS (.htaccess omleiding)

HTTPS is op Linux hosting toegepast (als de HTTP zelf) met behulp van omgekeerde proxy Nginx, het zogenaamde TLS-offloaden.

Verkeer tussen Nginx en Apache is niet versleuteld en Apache zal alleen weten over de versleuteling weten door de communicatie. Dit resulteert in de volgende beperkingen voor applicaties die proberen via veilige HTTPS te worden gecontroleerd.

- Detectie in PHP met behulp van de variabele $ _SERVER ['HTTPS']! = 'Aan' is volledig functioneel.
- variabele $ _SERVER ['SERVER_PORT'] bevat zelfs met HTTPS nummer 80
NOTITIE: detectie in bestand .htaccess door regels "RewriteCond% {SERVER_PORT}! ^ 443 $" en "RewriteCond% {HTTPS}! On" zijn niet functioneel! De poort in deze gevallen zal altijd 8x zijn, per versie van PHP en variabele HTTPS is altijd Uit. In plaats van variabele% {HTTPS} is nodig voor detectie variabele% {HTTP: X-Forwarded-Proto}.

Doorverwijzen op HTTPS. het is aan te bevelen om aan de volgende voorwaarden te voldoen, terwijl u de backward compatibility behoudt

RewriteCond %{HTTPS} !on

RewriteCond %{HTTP:X-Forwarded-Proto} !=https

RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]