Ik'heb een nieuwe installatie van Apache 2.2 op mijn Vista machine, alles werkt goed, behalve mod herschrijven.
Ik'heb ongecommentarieerd
LoadModule rewrite_module modules/mod_rewrite.s
maar geen van mijn herschrijfregels werkt, zelfs geen eenvoudige zoals
RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
Alle regels die ik gebruik werken op mijn hosting, dus ze zouden in orde moeten zijn, dus mijn vraag is, is er een verborgen ding in de apache configuratie, dat mod rewrite kan blokkeren?
Voor mijn situatie, had ik
RewriteEngine On
in mijn .htaccess
, samen met de module die geladen werd, en het werkte niet.
De oplossing voor mijn probleem was om mijn vhost vermelding aan te passen en er in op te nemen
AllowOverride all
in de <Directory>
sectie voor de site in kwestie.
Zag net dat je mod_rewrite.s zei in plaats van mod_rewrite.so - hoop dat's een typfout in je vraag is en niet in het httpd.conf bestand! :)
Ik'ben meer gewend aan het gebruik van Apache op Linux, maar ik moest dit onlangs doen.
Ten eerste, kijk eens in je Apache installatiemap. (Ik'neem aan dat je het geïnstalleerd hebt in "C:Program Files" hier)
Kijk eens in de map: "C:Program Files "Apache Software Foundation "Apache2.2modules" en controleer of daar een bestand staat met de naam mod_rewrite.so. (Het zou er moeten staan, het is onderdeel van de standaard installatie.
Vervolgens, open "C:Program Files "Apache Software Foundation "Apache2.2.conf" en open httpd.conf. Zorg ervoor dat de regel:
#LoadModule rewrite_module modules/mod_rewrite.so
niet gecommentarieerd is:
LoadModule rewrite_module modules/mod_rewrite.so
Ook, als u de RewriteEngine standaard wilt inschakelen, zou u iets kunnen toevoegen als
<IfModule mod_rewrite>
RewriteEngine On
</IfModule>
aan het einde van uw httpd.conf bestand.
Zo niet, zorg er dan voor dat u specificeert
RewriteEngine On
ergens in uw .htaccess bestand.