Jeg har en ny installation af Apache 2.2 på min Vista-maskine, alt fungerer fint, undtagen mod rewrite.
I've udkommenteret
LoadModule rewrite_module modules/mod_rewrite.s
men ingen af mine omskrivningsregler virker, selv ikke simple som f.eks.
RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
Alle de regler jeg bruger virker på min hosting, så de burde være ok, så mit spørgsmål er, er der nogen skjulte ting i apache konfiguration, der kan blokere mod rewrite?
I min situation havde jeg
RewriteEngine On
i min .htaccess
, sammen med modulet, der blev indlæst, og det virkede ikke.
Løsningen på mit problem var at redigere min vhost entry til at inkludere
AllowOverride all
i afsnittet <Directory>
for det pågældende websted.
Lagde lige mærke til at du sagde mod_rewrite.s i stedet for mod_rewrite.so - håber det'er en tastefejl i dit spørgsmål og ikke i httpd.conf-filen! :)
Jeg'er mere vant til at bruge Apache på Linux, men jeg var nødt til at gøre dette forleden dag.
Først og fremmest skal du tage et kig i din Apache-installationsmappe. (Jeg går ud fra, at du har installeret den på "C:\Program Files" her)
Tag et kig i mappen: "C:\Program Files\Apache Software Foundation\Apache2.2\modules" og sørg for, at der er en fil kaldet mod_rewrite.so derinde. (Det burde den være, den er en del af standardinstallationen.
Dernæst skal du åbne "C:\Program Files\Apache Software Foundation\Apache2.2\conf" og åbne httpd.conf. Sørg for, at linjen:
#LoadModule rewrite_module modules/mod_rewrite.so
er udkommenteret:
LoadModule rewrite_module modules/mod_rewrite.so
Hvis du også ønsker at aktivere RewriteEngine som standard, kan du tilføje noget som
<IfModule mod_rewrite>
RewriteEngine On
</IfModule>
til slutningen af din httpd.conf-fil.
Hvis ikke, skal du sørge for at angive
RewriteEngine On
et sted i din .htaccess-fil.