2009-07-25 9 views
2

Ich habe Apache auf meinem lokalen Computer (Mac) mit Mod_Rewite aktiviert und Allowoveride All in XAMPP httpd.conf-Datei festgelegt.XAMPP Mod_Rewrite & dynamic CSS

Das sind meine Regeln, Schnipsel von httpd.conf -

RewriteEngine On 
RewriteRule ^/setup/css/userlayout.css /setup/css/userlayout.php 

Alias /ms "/Users/web/wwwroot/ms" 

<Directory "/Users/web/wwwroot/ms"> 
    Options Indexes MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

In meiner index.php Ich habe -

<link rel="stylesheet" type="text/css" href="setup/css/userlayout.css?u=1" /> 

Und in meiner userlayout.php Datei -

<?php 
    header('Content-type: text/css'); 
    echo "#test{background-color:#000;}"; 
?> 

Das ist alles, aber die Regeln tun nichts. Ich bin nicht sicher, ob ich die Regeln an der richtigen Stelle setze und ich verstehe, dass Sie dies in einer httpd.conf-Datei und nicht in der .htaccess-Datei tun können.

+0

die Regeln in Ihrem '' Block Versuchen. – Gumbo

Antwort

0

Ich habe herausgefunden, was das Problem war. XAMPP Setup benötigt die Zeile "Options + FollowSymLinks", damit mod_rewrite funktioniert. Auch dies muss innerhalb des Verzeichnis-Tags nicht außerhalb davon platziert werden, da Umschreibregeln pro Verzeichnis funktionieren, weshalb ich den Fehler in der "RewriteBase /" - Direktive erhielt.

So der vollständige Code ist:

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine on 
    RewriteBase /root 
    RewriteRule ^setup/css/userlayout\.css$ setup/css/userlayout\.php 
</IfModule> 
1

RewriteRule ^/setup/css/userlayout.css $ /setup/css/userlayout.php

Sie können here mehr über RewriteRule sehen.

+0

Nein, nichts. Ich vermute, dass an der Regel nichts falsch ist. Tatsächlich kann ich nicht beweisen, ob das Mod-Rewrite überhaupt funktioniert, außer wenn es in RewriteBase eingefügt wird/Ich bekomme eine große Fehlermeldung, die ich überhaupt nicht bekommen sollte. hmmm .... – EddyR

+0

Wenn Sie die neueste Version von XAMPP (für Windows) verwenden, bin ich ziemlich sicher, dass es standardmäßig installiert und aktiv ist. – Nathan

+0

muss dann etwas anderes sein. Hat jemand irgendwelche Ideen? – EddyR