Wellicht dat een 'reload' of 'force-reload' ook voldoende is. Dat werkt tenminste hier bij ons met Nginx wel.
Dus dan krijg je: "/etc/init.d/apache2 reload" of "/etc/init.d/apache2 force-reload".
Likes: 0
Wellicht dat een 'reload' of 'force-reload' ook voldoende is. Dat werkt tenminste hier bij ons met Nginx wel.
Dus dan krijg je: "/etc/init.d/apache2 reload" of "/etc/init.d/apache2 force-reload".
bij apache is dat meestal:
'apache2ctl graceful'
(of 'apachectl graceful' of service 'apache2 graceful' - afhankelijk van installatie);
dan wordt config herladen met behoud van de lopende sessies; alleen nieuwe sessies vanaf dat moment maken ook daadwerkelijk gebruik van nieuwe instellingen.
Daarnaast zou ik je adviseren om ReWrite regels direct in vhost gedeelte te zetten.
Voordeel is, is dat in dat geval Apache eenmalig regels inleest en toepast.
Nadeel is, is dat Apache bij elke wijziging van de regels herstart moet worden (of graceful dient uitgevoerd te worden);
Indien je met .htaccess werkt, dan zal Apache bij het openen van _elke_ pagina, alle mappen na moeten lopen of er een .htaccess aanwezig is - en indien wel eerste regels welke daarin gevonden zijn processen. Dit kost (niet veel, maar wel iets) rekenkracht / tijd met name bij wat complexere sites).
Voordeel van .htaccess is, is dat je zonder Apache te moeten herstarten regels kan wijzigen.

Het is helaas niet alleen dat bestand, het zou kunnen dat dit het oplost, maar zo niet, moet je eigenlijk alle apache config bestanden nagaan voor directory directives en kijken of ze van toepassing zijn op jouw path.
# Rewrite activeren
RewriteEngine On
# Fysieke file aanvraag gaat altijd voor:
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^(.*)$ - [L]
RewriteCond %{REQUEST_URI} ^/.+$
RewriteRule ^(.*)?$ /home.php?p=$1 [L]
Als je dan http://www.domein.nl/banzai pakt dan komt hier het volgende uit:
[REDIRECT_QUERY_STRING] => p=banzai
[REDIRECT_URL] => /banzai
[QUERY_STRING] => p=banzai
[REQUEST_URI] => /banzai
[SCRIPT_NAME] => /home.php
Wat je zelf met:
RewriteRule ^bestand/?$ home.php?p=bestand
doet, is eigenlijk alleen checken of de url "www.domein.nl/bestand?" is vanwege het $-teken, maar elke parameter die erachter staat zorgt dat de je RewriteCond NIET overeenkomt, dus de RewriteRule wordt ook niet uitgevoerd en dus krijg je een 404.