Het .htaccess-bestand is een configuratiebestand op mapniveau, ondersteund door de Apache-webserver. Hiermee kun je de webserversettings (zoals het in- of uitschakelen van functies) voor een specifiek account aanpassen, zonder de globale serverconfiguratie te beïnvloeden.
Dit bestand past zijn instellingen toe op de gehele map waarin het zich bevindt, inclusief alle bestanden en submappen binnen die map. Alle wijzigingen in het .htaccess-bestand worden direct toegepast, zonder dat de server opnieuw opgestart hoeft te worden.
Om het .htaccess-bestand te vinden:
1. Ga naar je Spaceship-account >> kies Hosting Manager in Launchpad >> Beheren naast een hostingpakket >> Bestanden en opslag >> Bestanden beheren bij de websitennaam.
2. Je wordt doorgestuurd naar de hoofdmap van het domein.
3. Als je het .htaccess-bestand voor het domein wilt bewerken, zoek dan het .htaccess-bestand in de hoofdmap van het domein, klik er met de rechtermuisknop op en kies de Bewerken optie:

OPMERKING: Zorg ervoor dat "Verborgen bestanden weergeven (dotfiles)" is ingeschakeld in het Instellingen-menu:

4. Als er geen .htaccess-bestand in de Bestandsbeheerder staat, kun je een nieuw bestand aanmaken met de + Bestand-knop:

5. Je bent klaar om je eigen configuratieregels toe te voegen en op te slaan.
Met deze methode kun je gebruikers blokkeren op basis van hun IP-adres of domein. Dit is vooral handig om ongewenste bezoekers te weren of om toegang tot specifieke delen van je website, zoals het beheerdersgedeelte, alleen voor de eigenaar te beperken.
Om specifieke blokkeringsregels toe te passen, maak je een .htaccess-bestand aan met het volgende:
(Om toegang toe te staan voor iedereen behalve gebruikers met een X.X.X.X IP-adres)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(Om alle bezoekers te blokkeren behalve de specifieke X.X.X.X en Y.Y.Y.Y IP's)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
OPMERKING: Gebruik de verouderde Allow, Deny en Order -instructies niet samen met de nieuwe Require -instructie.
Met Mod_Rewrite wordt bepaald hoe webpagina's en URL's aan bezoekers worden gepresenteerd.
Standaard koppelt Mod_Rewrite een URL aan een bijbehorend bestandspad. Het kan echter ook de ene URL naar de andere omleiden.
Voordat je een omleiding instelt, is het belangrijk om het type omleiding te kiezen dat het beste bij je behoeften past:
Permanente omleiding (301): Deze omleiding stuurt een statuscode 301, wat aangeeft dat de pagina permanent is verplaatst. Dit wordt in de browser gecachet, waardoor zoekmachines en gebruikersagents de URL in hun databases bijwerken. Dit is het meest gebruikte type omleiding.
Tijdelijke omleiding (302): Deze omleiding stuurt een statuscode 302, wat aangeeft dat de verplaatsing tijdelijk is. De browser zal deze omleiding niet cachen, en hoewel bezoekers en zoekmachines worden omgeleid, blijft de oorspronkelijke pagina geïndexeerd. Dit type omleiding wordt aanbevolen, tenzij je zeker weet dat de URL in de toekomst niet meer zal veranderen.
Hieronder vind je een lijst met enkele van de meest voorkomende en nuttige omleidingen die via het .htaccess-bestand kunnen worden ingesteld:
Permanente omleiding van example1.com naar example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
Tijdelijke omleiding van exampledomain1.com naar exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
OPMERKING: Hieronder staan voorbeelden van permanente omleidingen. Tijdelijke omleidingen kunnen worden ingesteld door [R=301,L] te vervangen door [R=302,L] aan het einde van de code (waar nodig).
Omleiding van example1.com/subfolder naar example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
Omleiding van HTTP naar HTTPS voor example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]
of
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Omleiding van non-WWW naar WWW
voor elk domein, .htaccess is van kracht:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
voor een specifiek domein:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Omleiding van WWW naar non-WWW
voor elk domein is .htaccess van kracht:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
voor een specifiek domein:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Leid alle example.com-pagina's om naar de overeenkomstige domain.com-pagina's
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
OPMERKING: Alle paginanamen moeten op beide domeinen overeenkomen, anders resulteert de omleiding in een "Pagina niet gevonden"-melding.
Leid één pagina om naar een nieuwe URL
Redirect 301 /old_page.html http://www.domain.com/new_page.html
OPMERKING: Deze techniek kan handig zijn om een verwijderde pagina naar een 404-fout te leiden, of om SEO-aanpassingen te maken na het bijwerken van contentverwijzingen.
Dit type regel definieert beveiligingsbeperkingen voor een map of submap. Je kunt mappen met een wachtwoord beveiligen, zodat elke bezoeker die toegang probeert te krijgen, wordt gevraagd een gebruikersnaam en wachtwoord in te voeren.
Om deze beveiliging in te stellen:
1. Maak de map die je wilt beveiligen aan binnen de /home/cpanel_user/.htpasswds/ map (bijv. voor domain.com/test is het pad .htpasswds/domain.com/test/).
2. Maak in deze map een passwd-bestand aan en voeg gehashte toegangsgegevens toe met een online generator.
3. Voeg de volgende instructies toe aan het .htaccess-bestand:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
Met deze functie kun je gepersonaliseerde foutpagina's voor je website maken. Dit is handig omdat je bezoekers een foutmelding kunt tonen die aansluit bij het thema van je website als er gebroken URL's zijn. Zo voorkom je dat de standaard '404 File Not Found'-fout wordt weergegeven en wordt in plaats daarvan een zelfontworpen foutpagina met instructies getoond om gebruikers terug te leiden naar je website, waardoor verwarring wordt voorkomen.
Om een aangepaste foutpagina in te stellen, voeg je de volgende tekst toe aan een .htaccess-bestand:
ErrorDocument 404 /404.html
Deze regel geeft de Apache-webserver de instructie om een 404.html-bestand te laden dat zich in de hoofdmap van het domein bevindt wanneer er een 404 (File Not Found)-fout optreedt.
OPMERKING: Om aangepaste foutpagina's voor andere fouten (zoals 403 of 500) te maken, vervang je 404 eenvoudig door de bijbehorende foutcode en /404.html door het pad naar je eigen foutbestand.
Als je tijdelijk enkele bestaande regels wilt uitschakelen, bijvoorbeeld voor testdoeleinden, kun je ze eenvoudig uitcommentariëren. Voeg hiervoor simpelweg een hekje (#) toe aan het begin van de regel.
Als alternatief kun je een enkele regel of een blok regels uitschakelen door ze te selecteren en de Ctrl + / sneltoets te gebruiken.