rewrite_rule streikt unter Windows / xampp

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

rewrite_rule streikt unter Windows / xampp

Postby anett » 20. May 2010 18:41

Hallo,

ich habe ein Problem mit einer rewrite_rule unter Windows / xampp und habe leider keine Idee mehr.
Kann vielleicht jemand helfen?

Unter Linux funktioniert diese Anweisung (unvollständig) problemlos:
<VirtualHost *:80>
ServerName intranet
DocumentRoot "/srv/www/htdocs/intranet/htdocs"
Alias /common /srv/www/cms/html/com
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/medien/(.*)$ /srv/www/cms/html/com/medien/download.php?path=$1&fn=$2
</IfModule>
</VirtualHost>

Nun habe ich unter Windows xampp installiert und möchte die gleiche rewrite_url zum Laufen bringen.
Alle meine Versuche sind gescheitert, ich geb es langsam auf.

Zur Zeit versuche ich es so:

<VirtualHost *:80>
ServerName home.localhost
ServerAlias home
DocumentRoot "c:\xampp\htdocs\home\htdocs"
Alias /common "c:\xampp\htdocs\cms\html\common"

<Directory "C:\xampp\htdocs\home\htdocs">
RewriteEngine on
RewriteBase /common/media
RewriteRule w3/ http://www.w3.org/ [L]
RewriteRule ^/media/(.*)$ download.php?path=$1&fn=$2
</Directory>
</VirtualHost>

Die Weiterleitung home.localhost/w3/ auf http://www.w3.org/ funktioniert einwandfrei, aber die Umleitung auf ein anderes Verzeichnis (über Alias) streikt, ob ich den Pfad nun komplett angebe oder wie hier über RewriteBase . (Error: Objekt nicht gefunden!)
Sinn der Anwendung ist es übrigens, Medien vor der Ausgabe auf Rechte zu testen.

Hat vielleicht jemand einen Tip?
anett
 
Posts: 3
Joined: 20. May 2010 11:53

Re: rewrite_rule streikt unter Windows / xampp

Postby Nobbie » 20. May 2010 18:48

anett wrote:RewriteRule ^/medien/(.*)$ /srv/www/cms/html/com/medien/download.php?path=$1&fn=$2


Der führende Slash (bei "/medien") wird (zumindest unter Windows) unterdrückt (für Linux werde ich das mal testen), deswegen trifft dieses Pattern nichts. Versuche es stattdessen so:

Code: Select all
RewriteRule ^medien/(.*)$ /srv/www/cms/html/com/medien/download.php?path=$1&fn=$2


Unabhängig davon frage ich mich, was Du mit $2 referenzieren willst, Du hast doch nur ein Pattern mit Klammern spezifiziert?
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: rewrite_rule streikt unter Windows / xampp

Postby anett » 20. May 2010 19:25

Vielen Dank.
Auf Anhieb hilft es erst mal nicht, aber ich werde mal in der Richtung weiterrecherchieren.
Ich bin eigentlich Entwickler und daher eher Laie. Ich benutze nur den Pfad, der über die 1. Variable gesendet wird und mir ist gar nicht so recht aufgegangen, dass die 2. Variable sinnlos ist.
Mit der Linux-Variante arbeite ich übrigens erfolgreich.

Die rewrite_rule sieht nun so aus:
RewriteRule ^/medien/(.*)$ c:\xampp\htdocs\cms\html\com\media\download.php?path=$1

Theoretisch könnte es sich ja auch um ein Zugriffsproblem handeln, da der Zugriffspfad außerhalb der
DocumentRoot "c:\xampp\htdocs\home\htdocs" liegt.
Allerdings habe ich open_basedir schon sehr großzügig gesetzt:
php_admin_value open_basedir "c:\xampp"
Und dieser Alias auf (fast) das gleiche Verzeichnis funktioniert:
Alias /common "c:\xampp\htdocs\cms\html\com"

Es ist zum Verrücktwerden.
anett
 
Posts: 3
Joined: 20. May 2010 11:53

Re: rewrite_rule streikt unter Windows / xampp

Postby Nobbie » 20. May 2010 22:55

anett wrote:RewriteRule ^/medien/(.*)$ c:\xampp\htdocs\cms\html\com\media\download.php?path=$1


Die funktioniert, wie ich oben bereits geschrieben habe, mit absoluter Sicherheit nicht.

anett wrote:Es ist zum Verrücktwerden.


Ja, wenn man in einem Forum fragt, eine sinnvolle Antwort bekommt und sich einen Dreck drum schert. Das mag verstehen wer will - ich verstehe es nicht: es ist zum Verrücktwerden.

Dann wünsche ich Dir viel Spass beim Herumbröseln.

P.S.: Wie mir auch auffällt, gibst Du als Ziel einen Windows Pfad an. Auch das ist falsch, als Ziel muss eine URL (es heißt ja auch URL Rewrite, nicht PATH Rewrite) angegeben werden. Auch das geht so oder so nicht. Um Dir klar zu machen, was Du dort tust, zeige ich Dir, was der Server von Dir mitgeteilt bekommt:

Wenn jemand http://www.domain.de/medien/datei.html eingibt, dann wird (theoretisch - praktisch funktioniert es natürlich nicht) daraus durch Dein URL Rewrite diese folgende URL gemacht:

Code: Select all
http://www.domain.dec:\xampp\htdocs\cms\html\com\media\download.php?path=datei.html


Sinnvoll?
Nobbie
 
Posts: 8759
Joined: 09. March 2008 13:04

Re: rewrite_rule streikt unter Windows / xampp

Postby anett » 21. May 2010 21:23

Sorry, mein Schreibfehler, ich habe natürlich auch ohne führenden / probiert.
Das Problem liegt dann wohl eher am Windows-Pfad.
Glücklicherweise funktioniert die Pfadweiterleitung unter Linux und dort wird zum Glück das Live-System betrieben, lokal habe ich einfach auf direkte Zugriffe umgestellt.
Danke noch mal für die Hilfe.
anett
 
Posts: 3
Joined: 20. May 2010 11:53


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 17 guests