mod_rewrite

naja ist mein eigener lokaler testserver - daher solle ich das an sich dürfen. Hmm ist allerdings mein windoof laptop also nur ein Xampp. Hmm in der phpinfo() steht nichts von mod_rewrite - muss das da stehen?

bin euch acht Stunden voraus und muss daher jetzt ins Bett :-( und fahre die Linux VM daher nicht mehr hoch. Werde das morgen mal auf einem "richtigen" Webserver testen. (wäre aber ärgerlich wenne es mit dem xampp nicht gehen würde...)

Danke
 
Die Frage ist nicht, ob es dein Server ist, sondern ob es in der Serverkonfiguration zugelassen ist, entsprechende Direktiven zu schreiben.

Einstellen musst du das in der httpd.conf.
 
Hi,

ok es war tatsächlich über die httpd.conf auskommentiert. Ich habe das jetzt geändert und den Dienst neu gestartet. Nun erhalte ich die 500er Meldung nicht mehr. Allerdings wendet er die Regel an sich nicht an. Sprich es wird nichts umgeschrieben. Ich habe alle hier geposteten Variationen versucht - keine Zeige eine Wirkung.

Hat jemand eine Idee an was das liegen könnte?

Danke
 
Hi,

ich habe jetzt folgendes in meiner .htaccess stehen:

Code:
RewriteEngine On
RewriteBase	/
RewriteRule ^contact/(.*)/.index.html /index.php?section=contact&mail=$1

Leider passiert einfach garnichts. :-( Kann mir jemand einen Tipp geben warum das so ist?

Danke
 
Punkte stehen in regulären Ausdrücken für ein beliebiges Zeichen. Sind alle Punkte in deinem regulären Ausdruck beabsichtigt?
 
:-( :suspekt: ok Punkte waren keine Absicht (wer hat die da hin gemacht :) )

aber auch ohne passiert nichts :confused:
 
Bei mir funktioniert das :confused:
Code:
RewriteRule ^contact/(.*)/index\.html /index.php?section=contact&mail=$1
....schreibt eine Anfrage nach contact/blablub/index.html um auf index.php?section=contact&mail=blablubb
 
hmm ok ich installiere gerade die vm fertig dann teste ich das ganze mal auf einem vollwertigen Server... vielleicht liegt es ja einfach daran.

gehören die Punkte als doch da hin?

Gruß
 
welche Punkte genau?

den vor "index.html" habe ich rausgenommen, damit würde es auf "xindex.html" oder "uindex.html" zutreffen, aber nicht auf "index.html"... ich nehme an, das war ein Tippfehler

den in "index.html" habe ich escaped.... der dürfte keinen Fehler verursachen, aber damit wird auch bspw. indexxhtml oder index/html gefunden, was du sicher nicht brauchst.

Der Punkt in (.*) ist korrekt, wenn du dort beliebige Zeichen finden willst.

Etwaige Punkte in /index.php?section=contact&mail=$1 sind egal, weil dies das Replacement ist und kein RegExp.
 
Hi,

ich bin total am verzweifeln das will einfach nicht.

Code:
RewriteEngine On
RewriteRule ^contact/index\.html /index.php?section=contact

ich habs jetzt mal ganz einfach gemacht und keine variablen rein genommen. Aber ich bekomme immer einen 404 Fehler.

http://www.dev.schmidtjohannes.de?section=contact
http://www.dev.schmidtjohannes.de/contact/index.html

ich habs schon mit RewriteBase / und ohne versucht (lt. d)f soll man es weg lassen) zudem habe ich den slash vor index.php schon weg gehabt - keine Veränderung. *heul* hat jemand noch eine Idee?

Gruß
 
Zurück